commit 7f0c4cfbb74c1507a908de9bc31b7d4601099355 Author: Oliver Kennedy Date: Thu Oct 6 19:10:22 2016 -0400 Initial import diff --git a/MayBMS-tpch/README.txt b/MayBMS-tpch/README.txt new file mode 100644 index 0000000..f1730fa --- /dev/null +++ b/MayBMS-tpch/README.txt @@ -0,0 +1,25 @@ +This is the distribution of a modified version of the TPC-H data generator +developed by the MayBMS team (http://maybms.sourceforge.net) which was used +in the experiments of the paper + +Fast and Simple Relational Processing of Uncertain Data. +L. Antova, T. Jansen, C. Koch, D. Olteanu. Proc. ICDE 2008. + + +This directory contains the following files: + +* uncertain-tpch/ -- the source code of the data generator. + +* query1.sql, query2.sql, query3.sql -- example queries used in our + experiments. + +* urel-attr-tuple.sql -- this SQL script joins the U-relations generated + by the data generator together, i.e., it maps an attribute-level + representation achieved by vertical decompositioning to a tuple-level + representation. + +* urel-ULDB.sql -- this SQL script maps tuple-level U-relations to Trio + ULDBs. + + + diff --git a/MayBMS-tpch/query1.sql b/MayBMS-tpch/query1.sql new file mode 100644 index 0000000..0d6dd0b --- /dev/null +++ b/MayBMS-tpch/query1.sql @@ -0,0 +1,2 @@ +create table res as select l_orderkey,o_orderdate,o_shippriority from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2,U1.C3 as C3, U1.W3 as W3,U1.C4 as C4, U1.W4 as W4,U1.C5 as C5, U1.W5 as W5,U1.C6 as C6, U1.W6 as W6,U1.C7 as C7, U1.W7 as W7, U2.C1 as C8,U2.W1 as W8,l_orderkey,o_orderdate,o_shippriority,lineitem_tid, customer_tid, orders_tid from (select U.C1 as C1,U.W1 as W1,U.C2 as C2, U.W2 as W2,U.C3 as C3, U.W3 as W3,U.C4 as C4, U.W4 as W4,U.C5 as C5, U.W5 as W5,U.C6 as C6, U.W6 as W6,U.C7 as C7, U.W7 as W7,lineitem_tid, customer_tid, orders_tid,l_orderkey,o_orderdate from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2, U2.C1 as C3,U2.W1 as W3,U2.C2 as C4, U2.W2 as W4,U2.C3 as C5, U2.W3 as W5,U2.C4 as C6, U2.W4 as W6,U2.C5 as C7, U2.W5 as W7,l_orderkey,o_orderdate,o_orderkey,lineitem_tid, customer_tid, orders_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,l_orderkey,lineitem_tid from (select C1, W1, tid as lineitem_tid, l_orderkey from U_l_orderkey) as U1 join (select U.C1 as C1,U.W1 as W1,lineitem_tid from (select * from (select C1, W1, tid as lineitem_tid, l_shipdate from U_l_shipdate) as X1 where l_shipdate < '1995-03-17') U) as U2 using (lineitem_tid) where (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U1, (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2,U1.C3 as C3, U1.W3 as W3,U1.C4 as C4, U1.W4 as W4, U2.C1 as C5,U2.W1 as W5,o_orderdate,o_orderkey,customer_tid, orders_tid from (select U.C1 as C1,U.W1 as W1,U.C2 as C2, U.W2 as W2,U.C3 as C3, U.W3 as W3,U.C4 as C4, U.W4 as W4,customer_tid, orders_tid,o_orderdate from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2, U2.C1 as C3,U2.W1 as W3,U2.C2 as C4, U2.W2 as W4,c_custkey,o_custkey,o_orderdate,customer_tid, orders_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,c_custkey,customer_tid from (select C1, W1, tid as customer_tid, c_custkey from U_c_custkey) as U1 join (select U.C1 as C1,U.W1 as W1,customer_tid from (select * from (select C1, W1, tid as customer_tid, c_mktsegment from U_c_mktsegment) as X2 where c_mktsegment = 'BUILDING') U) as U2 using (customer_tid) where (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U1, (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,o_custkey,o_orderdate,orders_tid from (select C1, W1, tid as orders_tid, o_custkey from U_o_custkey) as U1 join (select * from (select C1, W1, tid as orders_tid, o_orderdate from U_o_orderdate) as X3 where o_orderdate > '1995-03-15') as U2 using (orders_tid) where (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U2 where U1.c_custkey=U2.o_custkey and (U1.C2 <> U2.C2 or U1.W2 = U2.W2) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C2 or U1.W1 = U2.W2) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) U) as U1 join (select C1, W1, tid as orders_tid, o_orderkey from U_o_orderkey) as U2 using (orders_tid) where (U1.C4 <> U2.C1 or U1.W4 = U2.W1) and (U1.C3 <> U2.C1 or U1.W3 = U2.W1) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U2 where U1.l_orderkey=U2.o_orderkey and (U1.C2 <> U2.C5 or U1.W2 = U2.W5) and (U1.C2 <> U2.C4 or U1.W2 = U2.W4) and (U1.C2 <> U2.C3 or U1.W2 = U2.W3) and (U1.C2 <> U2.C2 or U1.W2 = U2.W2) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C5 or U1.W1 = U2.W5) and (U1.C1 <> U2.C4 or U1.W1 = U2.W4) and (U1.C1 <> U2.C3 or U1.W1 = U2.W3) and (U1.C1 <> U2.C2 or U1.W1 = U2.W2) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) U) as U1 join (select C1, W1, tid as orders_tid, o_shippriority from U_o_shippriority) as U2 using (orders_tid) where (U1.C7 <> U2.C1 or U1.W7 = U2.W1) and (U1.C6 <> U2.C1 or U1.W6 = U2.W1) and (U1.C5 <> U2.C1 or U1.W5 = U2.W1) and (U1.C4 <> U2.C1 or U1.W4 = U2.W1) and (U1.C3 <> U2.C1 or U1.W3 = U2.W1) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1))X4; + diff --git a/MayBMS-tpch/query2.sql b/MayBMS-tpch/query2.sql new file mode 100644 index 0000000..e0dfe56 --- /dev/null +++ b/MayBMS-tpch/query2.sql @@ -0,0 +1 @@ +create table res as select l_extendedprice from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2, U2.C1 as C3,U2.W1 as W3,U2.C2 as C4, U2.W2 as W4,l_extendedprice,l_discount,lineitem_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,l_extendedprice,lineitem_tid from (select U.C1 as C1,U.W1 as W1,lineitem_tid from (select * from (select C1, W1, tid as lineitem_tid, l_quantity from U_l_quantity) as X50 where l_quantity < '24') U) as U1 join (select C1, W1, tid as lineitem_tid, l_extendedprice from U_l_extendedprice) as U2 using (lineitem_tid) where (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U1 join (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,l_discount,lineitem_tid from (select U.C1 as C1,U.W1 as W1,lineitem_tid from (select * from (select C1, W1, tid as lineitem_tid, l_shipdate from U_l_shipdate) as X51 where l_shipdate > '1994-01-01' and l_shipdate < '1996-01-01') U) as U1 join (select * from (select C1, W1, tid as lineitem_tid, l_discount from U_l_discount) as X52 where l_discount > '0.05' and l_discount < '0.08') as U2 using (lineitem_tid) where (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U2 using (lineitem_tid) where (U1.C2 <> U2.C2 or U1.W2 = U2.W2) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C2 or U1.W1 = U2.W2) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1))X53; diff --git a/MayBMS-tpch/query3.sql b/MayBMS-tpch/query3.sql new file mode 100644 index 0000000..c7c65a3 --- /dev/null +++ b/MayBMS-tpch/query3.sql @@ -0,0 +1 @@ +create table res as select n_name,n_name2 from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2,U1.C3 as C3, U1.W3 as W3,U1.C4 as C4, U1.W4 as W4,U1.C5 as C5, U1.W5 as W5,U1.C6 as C6, U1.W6 as W6,U1.C7 as C7, U1.W7 as W7, U2.C1 as C8,U2.W1 as W8,U2.C2 as C9, U2.W2 as W9,U2.C3 as C10, U2.W3 as W10,U2.C4 as C11, U2.W4 as W11,U2.C5 as C12, U2.W5 as W12,U1.n_name,U2.n_name as n_name2,lineitem_tid, supplier_tid, U1.nation_tid, customer_tid, orders_tid, U2.nation_tid as nation_tid2 from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2,U1.C3 as C3, U1.W3 as W3,U1.C4 as C4, U1.W4 as W4,U1.C5 as C5, U1.W5 as W5,U1.C6 as C6, U1.W6 as W6, U2.C1 as C7,U2.W1 as W7,n_name,orders_tid, lineitem_tid, supplier_tid, nation_tid from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2,U1.C3 as C3, U1.W3 as W3,U1.C4 as C4, U1.W4 as W4, U2.C1 as C5,U2.W1 as W5,U2.C2 as C6, U2.W2 as W6,orders_tid, lineitem_tid, supplier_tid, nation_tid from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2, U2.C1 as C3,U2.W1 as W3,U2.C2 as C4, U2.W2 as W4,supplier_tid, orders_tid, lineitem_tid from (select U.C1 as C1,U.W1 as W1,U.C2 as C2, U.W2 as W2,supplier_tid, lineitem_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,s_suppkey,l_suppkey,supplier_tid, lineitem_tid from (select C1, W1, tid as supplier_tid, s_suppkey from U_s_suppkey) as U1, (select C1, W1, tid as lineitem_tid, l_suppkey from U_l_suppkey) as U2 where U1.s_suppkey=U2.l_suppkey and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) U) as U1 join (select U.C1 as C1,U.W1 as W1,U.C2 as C2, U.W2 as W2,orders_tid, lineitem_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,o_orderkey,l_orderkey,orders_tid, lineitem_tid from (select C1, W1, tid as orders_tid, o_orderkey from U_o_orderkey) as U1, (select C1, W1, tid as lineitem_tid, l_orderkey from U_l_orderkey) as U2 where U1.o_orderkey=U2.l_orderkey and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) U) as U2 using (lineitem_tid) where (U1.C2 <> U2.C2 or U1.W2 = U2.W2) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C2 or U1.W1 = U2.W2) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U1 join (select U.C1 as C1,U.W1 as W1,U.C2 as C2, U.W2 as W2,supplier_tid, nation_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,s_nationkey,n_nationkey,supplier_tid, nation_tid from (select C1, W1, tid as supplier_tid, s_nationkey from U_s_nationkey) as U1, (select C1, W1, tid as nation_tid, n_nationkey from U_n_nationkey) as U2 where U1.s_nationkey=U2.n_nationkey and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) U) as U2 using (supplier_tid) where (U1.C4 <> U2.C2 or U1.W4 = U2.W2) and (U1.C4 <> U2.C1 or U1.W4 = U2.W1) and (U1.C3 <> U2.C2 or U1.W3 = U2.W2) and (U1.C3 <> U2.C1 or U1.W3 = U2.W1) and (U1.C2 <> U2.C2 or U1.W2 = U2.W2) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C2 or U1.W1 = U2.W2) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U1 join (select * from (select C1, W1, tid as nation_tid, n_name from U_n_name) as X4 where n_name = 'GERMANY') as U2 using (nation_tid) where (U1.C6 <> U2.C1 or U1.W6 = U2.W1) and (U1.C5 <> U2.C1 or U1.W5 = U2.W1) and (U1.C4 <> U2.C1 or U1.W4 = U2.W1) and (U1.C3 <> U2.C1 or U1.W3 = U2.W1) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U1 join (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2,U1.C3 as C3, U1.W3 as W3,U1.C4 as C4, U1.W4 as W4, U2.C1 as C5,U2.W1 as W5,n_name,nation_tid, customer_tid, orders_tid from (select U1.C1 as C1,U1.W1 as W1,U1.C2 as C2, U1.W2 as W2, U2.C1 as C3,U2.W1 as W3,U2.C2 as C4, U2.W2 as W4,nation_tid, customer_tid, orders_tid from (select U.C1 as C1,U.W1 as W1,U.C2 as C2, U.W2 as W2,customer_tid, nation_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,c_nationkey,n_nationkey,customer_tid, nation_tid from (select C1, W1, tid as customer_tid, c_nationkey from U_c_nationkey) as U1, (select C1, W1, tid as nation_tid, n_nationkey from U_n_nationkey) as U2 where U1.c_nationkey=U2.n_nationkey and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) U) as U1 join (select U.C1 as C1,U.W1 as W1,U.C2 as C2, U.W2 as W2,customer_tid, orders_tid from (select U1.C1 as C1,U1.W1 as W1, U2.C1 as C2,U2.W1 as W2,c_custkey,o_custkey,customer_tid, orders_tid from (select C1, W1, tid as customer_tid, c_custkey from U_c_custkey) as U1, (select C1, W1, tid as orders_tid, o_custkey from U_o_custkey) as U2 where U1.c_custkey=U2.o_custkey and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) U) as U2 using (customer_tid) where (U1.C2 <> U2.C2 or U1.W2 = U2.W2) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C2 or U1.W1 = U2.W2) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U1 join (select * from (select C1, W1, tid as nation_tid, n_name from U_n_name) as X5 where n_name = 'IRAQ') as U2 using (nation_tid) where (U1.C4 <> U2.C1 or U1.W4 = U2.W1) and (U1.C3 <> U2.C1 or U1.W3 = U2.W1) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1)) as U2 using (orders_tid) where (U1.C7 <> U2.C5 or U1.W7 = U2.W5) and (U1.C7 <> U2.C4 or U1.W7 = U2.W4) and (U1.C7 <> U2.C3 or U1.W7 = U2.W3) and (U1.C7 <> U2.C2 or U1.W7 = U2.W2) and (U1.C7 <> U2.C1 or U1.W7 = U2.W1) and (U1.C6 <> U2.C5 or U1.W6 = U2.W5) and (U1.C6 <> U2.C4 or U1.W6 = U2.W4) and (U1.C6 <> U2.C3 or U1.W6 = U2.W3) and (U1.C6 <> U2.C2 or U1.W6 = U2.W2) and (U1.C6 <> U2.C1 or U1.W6 = U2.W1) and (U1.C5 <> U2.C5 or U1.W5 = U2.W5) and (U1.C5 <> U2.C4 or U1.W5 = U2.W4) and (U1.C5 <> U2.C3 or U1.W5 = U2.W3) and (U1.C5 <> U2.C2 or U1.W5 = U2.W2) and (U1.C5 <> U2.C1 or U1.W5 = U2.W1) and (U1.C4 <> U2.C5 or U1.W4 = U2.W5) and (U1.C4 <> U2.C4 or U1.W4 = U2.W4) and (U1.C4 <> U2.C3 or U1.W4 = U2.W3) and (U1.C4 <> U2.C2 or U1.W4 = U2.W2) and (U1.C4 <> U2.C1 or U1.W4 = U2.W1) and (U1.C3 <> U2.C5 or U1.W3 = U2.W5) and (U1.C3 <> U2.C4 or U1.W3 = U2.W4) and (U1.C3 <> U2.C3 or U1.W3 = U2.W3) and (U1.C3 <> U2.C2 or U1.W3 = U2.W2) and (U1.C3 <> U2.C1 or U1.W3 = U2.W1) and (U1.C2 <> U2.C5 or U1.W2 = U2.W5) and (U1.C2 <> U2.C4 or U1.W2 = U2.W4) and (U1.C2 <> U2.C3 or U1.W2 = U2.W3) and (U1.C2 <> U2.C2 or U1.W2 = U2.W2) and (U1.C2 <> U2.C1 or U1.W2 = U2.W1) and (U1.C1 <> U2.C5 or U1.W1 = U2.W5) and (U1.C1 <> U2.C4 or U1.W1 = U2.W4) and (U1.C1 <> U2.C3 or U1.W1 = U2.W3) and (U1.C1 <> U2.C2 or U1.W1 = U2.W2) and (U1.C1 <> U2.C1 or U1.W1 = U2.W1))X6; diff --git a/MayBMS-tpch/uncertain-tpch/PORTING.NOTES b/MayBMS-tpch/uncertain-tpch/PORTING.NOTES new file mode 100644 index 0000000..2916d20 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/PORTING.NOTES @@ -0,0 +1,220 @@ +# @(#)PORTING.NOTES 2.1.8.1 + +Table of Contents +================== +1. General Program Structure +2. Naming Conventions and Variable Usage +3. Porting Procedures +4. Compilation Options +5. Customizing QGEN +6. Further Enhancements +7. Known Porting Problems +8. Reporting Problems + +1. General Program Structure + +The code provided with TPC-H and TPC-R benchmarks includes a database +population generator (DBGEN) and a query template translator(QGEN). It +is written in ANSI-C, and is meant to be easily portable to a broad variety +of platforms. The program is composed of five source files and some +support and header files. The main modules are: + + build.c: each table in the database schema is represented by a + routine mk_XXXX, which populates a structure + representing one row in table XXXX. + See Also: dss_types.h, bm_utils.c, rnd.* + print.c: each table in the database schema is represented by a + routine pr_XXXX, which prints the contents of a + structure representing one row in table XXX. + See Also: dss_types.h, dss.h + driver.c: this module contains the main control functions for + DBGEN, including command line parsing, distribution + management, database scaling and the calls to mk_XXXX + and pr_XXXX for each table generated. + qgen.c: this module contains the main control functions for + QGEN, including query template parsing. + varsub.c: each query template includes one or more parameter + substitution points; this routine handles the + parameter generation for the TPC-H/TPC-R benchmark. + +The support utilities provide a generalized set of functions for data +generation and include: + + bm_utils.c: data type generators, string management and + portability routines. + + rnd.*: a general purpose random number generator used + throughout the code. + + dss.h: + shared.h: a set of '#defines' for limits, formats and fixed + values + dsstypes.h: structure definitions for each table definition + +2. Naming Conventions and Variable Usage + +Since DBGEN will be maintained by a large number of people, it is +particularly important to observe the coding, variable naming and usage +conventions detailed here. + + #define + -------- + All #define directives are found in header files (*.h). In general, + the header files segregate variables and macros as follows: + rnd.h -- anything exclusively referenced by rnd.c + dss.h -- general defines for the benchmark, including *all* + extern declarations (see below). + shared.h -- defines related to the tuple definitions in + dsstypes.h. Isolated to ease automatic processing needed by many + direct load routines (see below). + dsstypes.h -- structure definitons and typedef directives to + detail the contents of each table's tuples. + config.h -- any porting and configuration related defines should + go here, to localize the changes necessary to move the suite + from one machine to another. + tpcd.h -- defines related to QGEN, rather than DBGEN + + extern + ------ + DBGEN and QGEN make extensive use of extern declarations. This could + probably stand to be changed at some point, but has made the rapid + turnaround of prototypes easier. In order to be sure that each + declaration was matched by exactly one definition per executatble, + they are all declared as EXTERN, a macro dependent on DECLARER. In + any module that defines DECLARER, all variables declared EXTERN will + be defined as globals. DECLARER should be declared only in modules + containing a main() routine. + + Naming Conventions + ------------------ + defines + o All defines use upper case + o All defines use a table prefix, if appropriate: + O_* relates to orders table + L_* realtes to lineitem table + P_* realtes to part table + PS_* relates to partsupplier table + C_* realtes to customer table + S_* relates to supplier table + N_* relates to nation table + R_* realtes to region table + T_* relates to time table + o All defines have a usage prefix, if appropriate: + *_TAG environment variable name + *_DFLT environment variable default + *_MAX upper bound + *_MIN lower bound + *_LEN average length + *_SD random number seed (see rnd.*) + *_FMT printf format string + *_SCL divisor (for scaled arithmetic) + *_SIZE tuple length + +3. Porting Procedures + +The code provided should be easily portable to any machine providing an +ANSI C compiler. + -- Copy makefile.suite to makefile + -- Edit the makefile to match the name of your C compiler + and to include appropriate compilation options in the CFLAGS + definition + -- make. + +Special care should be taken in modifying any of the monetary calcu- +lations in DBGEN. These have proven to be particularly sensitive to +portability problems. If you decide to create the routines for inline +data load (see below), be sure to compare the resulting data to that +generated by a flat file data generation to be sure that all numeric +conversions have been correct. + +If the compile generates errors, refer to "Compilation Options", below. +The problem you are encountering may already have been addressed in the +code. + +If the compile is successful, but QGEN is not generating the appropriate +query syntax for your environment, refer to "Customizing QGEN", below. + +For other problems, refer to "Reporting Problems" at the end of this +document. + +4. Compilation Options + +config.h and makefile.suite contain a number of compile time options intended +to make the process of porting the code provided with TPC-H/TPC-R as easy as +possible on a broad range of platforms. Most ports should consist of reviewing +the possible settings described in config.h and modifying the makefile +to employ them appropriately. + +5. Customizing QGEN + +QGEN relies on a number of vendor-specific conventions to generate +appropriate query syntax. These are controlled by #defines in tpcd.h, +and enabled by a #define in config.h. If you find that the syntax +generated by QGEN is not sufficient for your environment you will need +to modify these to files. It is strongly recomended that you not change +the general organization of the files. + +Currently defined options are: + +VTAG -- marks a variable substitution point [:] +QDIR_TAG -- environent variable which points to query templates + [DSS_QUERY] +GEN_QUERY_PLAN -- syntax to generate a query plan ["Set Explain On;"] +START_TRAN -- syntax to begin a transaction ["Begin Work;"] +END_TRAN -- syntax to end a transaction ["Commit Work;"] +SET_OUTPUT -- syntax to redirect query output ["Output to"] +SET_ROWCOUNT -- syntax to set the number of rows returned + ["{return %d rows}"] +SET_DBASE -- syntax to connect to a database + +6. Further Enhancements + +load_stub.c provides entry points for two likely enhancements. + +The ld_XXXX routines make it possible to load the +database directly from DBGEN without first writing the database +population out to the filesystem. This may prove particularly useful +when loading larger database populations. Be particularly careful about +monetary amounts. To assure portability, all monetary calcualtion are +done using long integers (which hold money amounts as a number of +pennies). These will need to be scaled to dollars and cents (by dividing +by 100), before the values are presented to the DBMS. + +The hd_XXXX routines allow header information to be written before the +creation of the flat files. This should allow system which require +formatting information in database load files to use DBGEN with only +a small amount of custom code. + +qgen.c defines the translation table for query templates in the +routine qsub(). + +varsub.c defines the parameter substitutions in the routine varsub(). + +If you are porting DBGEN to a machine that is not supports a native word +size larger that 32 bits, you may wish to modify the default values for +BITS_PER_LONG and MAX_LONG. These values are used in the generation of +the sparse primary keys in the order and lineitem tables. The code has +been structured to run on any machine supporting a 32 bit long, but +may be slightly more efficient on machines that are able to make use of +a larger native type. + +7. Known Porting Problems + +The current codeline will not compile under SunOS 4.1. Solaris 2.4 and later +are supported, and anyone wishing to use DBGEN on a Sun platform is +encouraged to use one of these OS releases. + + +8. Reporting Problems + +The code provided with TPC-H/TPC-R has been written to be easily portable, +and has been tested on a wide variety of platforms, If you have any +trouble porting the code to your platform, please help us to correct +the problem in a later release by sending the following information +to the TPC D subcommittee: + + Computer Make and Model + Compiler Type and Revision Number + Brief Description of the problem + Suggested modification to correct the problem + diff --git a/MayBMS-tpch/uncertain-tpch/README.URELATIONS b/MayBMS-tpch/uncertain-tpch/README.URELATIONS new file mode 100644 index 0000000..987e3de --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/README.URELATIONS @@ -0,0 +1,52 @@ +In addition to the standard TPC-H parameters, UTPC-H has three more +parameters: + +-x uncertainty ratio. + +-z (zipf) correlation ratio. + +-m maximum alternatives per uncertain cell. + + such as scale (-s 1 for +1GB of data) + + +The (standard dbgen) parameter "s" is used to control the size of each +world (-s 1 means that each world has size 1 GB). The uncertainty +ratio (x) controls the percentage of (uncertain) fields with several +possible values, and the parameter "m" controls how many possible +values can be assigned to a field. The parameter "z" defines a Zipf +distribution for the variables with different dependent field counts +(DFC). The DFC of a variable is the number of tuple fields dependent +on that variable. We use the parameter "z" to control the attribute +correlations: For "n" uncertain fields, there are ceiling(C*z^{i}) +variables with DFC "i", where + + C = n(z-1)/(z^{k+1} - 1), + +i.e., n is sum of (C*z^i) with i from 0 to k. Thus greater z-values +correspond to higher correlations in the data. The number of domain +values of a variable with DFC k>1 is chosen using the formula + + p^{k-1}*(Product of m_i with i from 1 to k), + +where "m_i" is the number of different values for the "i"-th field +dependent on that variable, and "p" is the probability that a +combination of possible values for the "k" fields is valid. This +assumption fits naturally to data cleaning scenarios (work by the +MAyBMS team, ICDE'07, on chasing dependencies on world-set +decompositions) + +By default, after correlating two variables with arbitrary DFCs, only +$p*100$ percent of the combinations satisfy the constraints and are +preserved. The value of "p" can be changed in the code (no in put +parameter to date). + +The uncertain fields are assigned randomly to variables. This can lead +to correlations between fields belonging to different tuples or even +to different relations. This fits to scenarios where constraints are +enforced across tuples or relations. + + + + diff --git a/MayBMS-tpch/uncertain-tpch/bcd2.c b/MayBMS-tpch/uncertain-tpch/bcd2.c new file mode 100644 index 0000000..47f7585 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/bcd2.c @@ -0,0 +1,262 @@ +/* +* $Id: bcd2.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: bcd2.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:45 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * bcd.c: conversion routines for multi-byte arithmetic + * + * defined routines: + * bin_bcd2(long binary, long *low_res, long *high_res) + * bcd2_bin(long *dest, long bcd) + * bcd2_add(long *bcd_low, long *bcd_high, long addend) + * bcd2_sub(long *bcd_low, long *bcd_high, long subend) + * bcd2_mul(long *bcd_low, long *bcd_high, long multiplier) + * bcd2_div(long *bcd_low, long *bcd_high, long divisor) + * long bcd2_mod(long *bcd_low, long *bcd_high, long modulo) + * long bcd2_cmp(long *bcd_low, long *bcd_high, long compare) + */ +#include +#include "bcd2.h" /* for function prototypes */ + +#define DIGITS_PER_LONG 7 +#define WORD_DIVISOR 10000000 +#define GET_DIGIT(num, low, high) \ + ((num) >= DIGITS_PER_LONG)? \ + (high & (0xF << (4 * ((num) - DIGITS_PER_LONG)))) \ + >> (((num) - DIGITS_PER_LONG) * 4): \ + (low & (0xF << (4 * (num)))) >> ((num) * 4) +#define SET_DIGIT(value, num, low, high) \ + if ((num) >= DIGITS_PER_LONG) \ + { \ + *high &= \ + (0xFFFFFFF ^ (0xF << (4 * ((num) - DIGITS_PER_LONG)))); \ + *high |= (value << (4 * ((num) - DIGITS_PER_LONG))); \ + } \ + else \ + { \ + *low = (*low & (0xFFFFFFF ^ (0xF << (4 * (num))))); \ + *low |= (value << (4 * (num))); \ + } +int +bin_bcd2(long binary, long *low_res, long *high_res) +{ + char number[15], + *current; + int count; + long *dest; + + *low_res = *high_res = 0; + sprintf(number, "%014ld", binary); + for (current = number, count=13; *current; current++, count--) + { + dest = (count < DIGITS_PER_LONG)?low_res:high_res; + *dest = *dest << 4; + *dest |= *current - '0'; + } + return(0); +} + +int +bcd2_bin(long *dest, long bcd) +{ + int count; + long mask; + + count = DIGITS_PER_LONG - 1; + mask = 0xF000000; + *dest = 0; + while (mask) + { + *dest *= 10; + *dest += (bcd & mask) >> (4 * count); + mask = mask >> 4; + count -= 1; + } + return(0); +} + +int +bcd2_add(long *bcd_low, long *bcd_high, long addend) +{ + long tmp_lo, tmp_hi, carry, res; + int digit; + + bin_bcd2(addend, &tmp_lo, &tmp_hi); + carry = 0; + for (digit=0; digit < 14; digit++) + { + res = GET_DIGIT(digit, *bcd_low, *bcd_high); + res += GET_DIGIT(digit, tmp_lo, tmp_hi); + res += carry; + carry = res / 10; + res %= 10; + SET_DIGIT(res, digit, bcd_low, bcd_high); + } + return(carry); +} + +int +bcd2_sub(long *bcd_low, long *bcd_high, long subend) +{ + long tmp_lo, tmp_hi, carry, res; + int digit; + + bin_bcd2(subend, &tmp_lo, &tmp_hi); + carry = 0; + for (digit=0; digit < 14; digit++) + { + res = GET_DIGIT(digit, *bcd_low, *bcd_high); + res -= GET_DIGIT(digit, tmp_lo, tmp_hi); + res -= carry; + if (res < 0) + { + res += 10; + carry = 1; + } + SET_DIGIT(res, digit, bcd_low, bcd_high); + } + return(carry); +} + +int +bcd2_mul(long *bcd_low, long *bcd_high, long multiplier) +{ + long tmp_lo, tmp_hi, carry, m_lo, m_hi, m1, m2; + int udigit, ldigit, res; + + tmp_lo = *bcd_low; + tmp_hi = *bcd_high; + bin_bcd2(multiplier, &m_lo, &m_hi); + *bcd_low = 0; + *bcd_high = 0; + carry = 0; + for (ldigit=0; ldigit < 14; ldigit++) + { + m1 = GET_DIGIT(ldigit, m_lo, m_hi); + carry = 0; + for (udigit=0; udigit < 14; udigit++) + { + m2 = GET_DIGIT(udigit, tmp_lo, tmp_hi); + res = m1 * m2; + res += carry; + if (udigit + ldigit < 14) + { + carry = GET_DIGIT(udigit + ldigit, *bcd_low, *bcd_high); + res += carry; + } + carry = res / 10; + res %= 10; + if (udigit + ldigit < 14) + SET_DIGIT(res, udigit + ldigit, bcd_low, bcd_high); + } + } + return(carry); +} + +int +bcd2_div(long *bcd_low, long *bcd_high, long divisor) +{ + long tmp_lo, tmp_hi, carry, d1, res, digit; + + + carry = 0; + tmp_lo = *bcd_low; + tmp_hi = *bcd_high; + *bcd_low = *bcd_high = 0; + for (digit=13; digit >= 0; digit--) + { + d1 = GET_DIGIT(digit, tmp_lo, tmp_hi); + d1 += 10 * carry; + res = d1 / divisor; + carry = d1 % divisor; + SET_DIGIT(res, digit, bcd_low, bcd_high); + } + return(carry); +} + +long +bcd2_mod(long *bcd_low, long *bcd_high, long modulo) +{ + long tmp_low, tmp_high; + + tmp_low = *bcd_low; + tmp_high = *bcd_high; + while (tmp_high || tmp_low > modulo) + bcd2_sub(&tmp_low, &tmp_high, modulo); + return(tmp_low); +} + +long +bcd2_cmp(long *low1, long *high1, long comp) +{ + long temp = 0; + + bcd2_bin(&temp, *high1); + if (temp > 214) + return(1); + bcd2_bin(&temp, *low1); + return(temp - comp); +} + +#ifdef TEST_BCD +#include + +main() +{ +long bin, low_bcd, high_bcd; +int i; + +bin = MAXINT; +printf("%ld\n", bin); +bin_bcd2(bin, &low_bcd, &high_bcd); +printf("%ld %ld\n", high_bcd, low_bcd); +bin = 0; +bcd2_bin(&bin, high_bcd); +bcd2_bin(&bin, low_bcd); +printf( "%ld\n", bin); +for (i=9; i >= 0; i--) + printf("%dth digit in %d is %d\n", + i, bin, GET_DIGIT(i, low_bcd, high_bcd)); +bcd2_add(&low_bcd, &high_bcd, MAXINT); +bin = 0; +bcd2_bin(&bin, high_bcd); +high_bcd = bin; +bin = 0; +bcd2_bin(&bin, low_bcd); +low_bcd = bin; +printf( "%ld%07ld\n", high_bcd, low_bcd); +bin_bcd2(14, &low_bcd, &high_bcd); +bcd2_mul(&low_bcd, &high_bcd, 23L); +bin = 0; +bcd2_bin(&bin, high_bcd); +bcd2_bin(&bin, low_bcd); +printf( "%ld\n", bin); +bcd2_div(&low_bcd, &high_bcd, 10L); +bin = 0; +bcd2_bin(&bin, high_bcd); +bcd2_bin(&bin, low_bcd); +printf( "%ld\n", bin); +} +#endif /* TEST */ diff --git a/MayBMS-tpch/uncertain-tpch/bcd2.h b/MayBMS-tpch/uncertain-tpch/bcd2.h new file mode 100644 index 0000000..4ed29a0 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/bcd2.h @@ -0,0 +1,34 @@ +/* +* $Id: bcd2.h,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: bcd2.h,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:45 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +int bin_bcd2(long binary, long *low_res, long *high_res); +int bcd2_bin(long *dest, long bcd); +int bcd2_add(long *bcd_low, long *bcd_high, long addend); +int bcd2_sub(long *bcd_low, long *bcd_high, long subend); +int bcd2_mul(long *bcd_low, long *bcd_high, long multiplier); +int bcd2_div(long *bcd_low, long *bcd_high, long divisor); +long bcd2_mod(long *bcd_low, long *bcd_high, long modulo); +long bcd2_cmp(long *bcd_low, long *bcd_high, long compare); diff --git a/MayBMS-tpch/uncertain-tpch/bm_utils.c b/MayBMS-tpch/uncertain-tpch/bm_utils.c new file mode 100644 index 0000000..5ca2dda --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/bm_utils.c @@ -0,0 +1,595 @@ +/* +* $Id: bm_utils.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: bm_utils.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.4 2006/04/12 18:00:55 jms +* add missing parameter to call to gen_seed +* +* Revision 1.3 2005/10/14 23:16:54 jms +* fix for answer set compliance +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.3 2004/02/18 14:05:53 jms +* porting changes for LINUX and 64 bit RNG +* +* Revision 1.2 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.1.1.1 2003/08/08 21:35:26 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ + /* + * + * Various routines that handle distributions, value selections and + * seed value management for the DSS benchmark. Current functions: + * env_config -- set config vars with optional environment override + * yes_no -- ask simple yes/no question and return boolean result + * a_rnd(min, max) -- random alphanumeric within length range + * pick_str(size, set) -- select a string from the set of size + * read_dist(file, name, distribution *) -- read named dist from file + * tbl_open(path, mode) -- std fopen with lifenoise + * julian(date) -- julian date correction + * rowcnt(tbl) -- proper scaling of given table + * e_str(set, min, max) -- build an embedded str + * agg_str() -- build a string from the named set + * dsscasecmp() -- version of strcasecmp() + * dssncasecmp() -- version of strncasecmp() + * getopt() + * set_state() -- initialize the RNG + */ + +#include "config.h" +#include "dss.h" +#include +#include +#include +#include +#ifdef HP +#include +#endif /* HP */ +#include +#include +#ifndef _POSIX_SOURCE +#include +#endif /* POSIX_SOURCE */ +#include +#include +#include +/* Lines added by Chuck McDevitt for WIN32 support */ +#ifdef WIN32 +#ifndef _POSIX_ +#include +#ifndef S_ISREG +#define S_ISREG(m) ( ((m) & _S_IFMT) == _S_IFREG ) +#define S_ISFIFO(m) ( ((m) & _S_IFMT) == _S_IFIFO ) +#endif +#endif +#ifndef stat +#define stat _stat +#endif +#ifndef fdopen +#define fdopen _fdopen +#endif +#ifndef open +#define open _open +#endif +#ifndef O_RDONLY +#define O_RDONLY _O_RDONLY +#endif +#ifndef O_WRONLY +#define O_WRONLY _O_WRONLY +#endif +#ifndef O_CREAT +#define O_CREAT _O_CREAT +#endif +#endif +/* End of lines added by Chuck McDevitt for WIN32 support */ +#include "dsstypes.h" + + +static char alpha_num[65] = +"0123456789abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ,"; + +#if defined(__STDC__) || defined(__cplusplus) +#define PROTO(s) s +#else +#define PROTO(s) () +#endif + +char *getenv PROTO((const char *name)); +void usage(); +long *permute_dist(distribution *d, long stream); +extern seed_t Seed[]; + +/* + * env_config: look for a environmental variable setting and return its + * value; otherwise return the default supplied + */ +char * +env_config(char *var, char *dflt) +{ + static char *evar; + + if ((evar = getenv(var)) != NULL) + return (evar); + else + return (dflt); +} + +/* + * return the answer to a yes/no question as a boolean + */ +long +yes_no(char *prompt) +{ + char reply[128]; + +#ifdef WIN32 +/* Disable warning about conditional expression is constant */ +#pragma warning(disable:4127) +#endif + + while (1) + { +#ifdef WIN32 +#pragma warning(default:4127) +#endif + printf("%s [Y/N]: ", prompt); + fgets(reply, 128, stdin); + switch (*reply) + { + case 'y': + case 'Y': + return (1); + case 'n': + case 'N': + return (0); + default: + printf("Please answer 'yes' or 'no'.\n"); + } + } +} + +/* + * generate a random string with length randomly selected in [min, max] + * and using the characters in alphanum (currently includes a space + * and comma) + */ +void +a_rnd(int min, int max, int column, char *dest) +{ + DSS_HUGE i, + len, + char_int; + + RANDOM(len, min, max, column); + for (i = 0; i < len; i++) + { + if (i % 5 == 0) + RANDOM(char_int, 0, MAX_LONG, column); + *(dest + i) = alpha_num[char_int & 077]; + char_int >>= 6; + } + *(dest + len) = '\0'; + return; +} + +/* + * embed a randomly selected member of distribution d in alpha-numeric + * noise of a length rendomly selected between min and max at a random + * position + */ +void +e_str(distribution *d, int min, int max, int stream, char *dest) +{ + char strtmp[MAXAGG_LEN + 1]; + DSS_HUGE loc; + int len; + + a_rnd(min, max, stream, dest); + pick_str(d, stream, strtmp); + len = strlen(strtmp); + RANDOM(loc, 0, (strlen(dest) - 1 - len), stream); + strncpy(dest + loc, strtmp, len); + + return; +} + + +/* + * return the string associate with the LSB of a uniformly selected + * long in [1, max] where max is determined by the distribution + * being queried + */ +int +pick_str(distribution *s, int c, char *target) +{ + long i = 0; + DSS_HUGE j; + + RANDOM(j, 1, s->list[s->count - 1].weight, c); + while (s->list[i].weight < j) + i++; + strcpy(target, s->list[i].text); + return(i); +} + +/* + * unjulian (long date) -- return(date - STARTDATE) + */ +long +unjulian(long date) +{ + int i; + long res = 0; + + for (i = STARTDATE / 1000; i < date / 1000; i++) + res += 365 + LEAP(i); + res += date % 1000 - 1; + + return(res); +} + +long +julian(long date) +{ + long offset; + long result; + long yr; + long yend; + + offset = date - STARTDATE; + result = STARTDATE; + +#ifdef WIN32 +/* Disable warning about conditional expression is constant */ +#pragma warning(disable:4127) +#endif + + while (1) + { +#ifdef WIN32 +#pragma warning(default:4127) +#endif + yr = result / 1000; + yend = yr * 1000 + 365 + LEAP(yr); + if (result + offset > yend) /* overflow into next year */ + { + offset -= yend - result + 1; + result += 1000; + continue; + } + else + break; + } + return (result + offset); +} + +/* +* load a distribution from a flat file into the target structure; +* should be rewritten to allow multiple dists in a file +*/ +void +read_dist(char *path, char *name, distribution *target) +{ +FILE *fp; +char line[256], + token[256], + *c; +long weight, + count = 0, + name_set = 0; + + if (d_path == NULL) + { + sprintf(line, "%s%c%s", + env_config(CONFIG_TAG, CONFIG_DFLT), PATH_SEP, path); + fp = fopen(line, "r"); + OPEN_CHECK(fp, line); + } + else + { + fp = fopen(d_path, "r"); + OPEN_CHECK(fp, d_path); + } + while (fgets(line, sizeof(line), fp) != NULL) + { + if ((c = strchr(line, '\n')) != NULL) + *c = '\0'; + if ((c = strchr(line, '#')) != NULL) + *c = '\0'; + if (*line == '\0') + continue; + + if (!name_set) + { + if (dsscasecmp(strtok(line, "\n\t "), "BEGIN")) + continue; + if (dsscasecmp(strtok(NULL, "\n\t "), name)) + continue; + name_set = 1; + continue; + } + else + { + if (!dssncasecmp(line, "END", 3)) + { + fclose(fp); + return; + } + } + + if (sscanf(line, "%[^|]|%ld", token, &weight) != 2) + continue; + + if (!dsscasecmp(token, "count")) + { + target->count = weight; + target->list = + (set_member *) + malloc((size_t)(weight * sizeof(set_member))); + MALLOC_CHECK(target->list); + target->max = 0; + continue; + } + target->list[count].text = + (char *) malloc((size_t)(strlen(token) + 1)); + MALLOC_CHECK(target->list[count].text); + strcpy(target->list[count].text, token); + target->max += weight; + target->list[count].weight = target->max; + + count += 1; + } /* while fgets() */ + + if (count != target->count) + { + fprintf(stderr, "Read error on dist '%s'\n", name); + fclose(fp); + exit(1); + } + target->permute = (long *)NULL; + fclose(fp); + return; +} + +/* + * standard file open with life noise + */ + +FILE * +tbl_open(int tbl, char *mode) +{ + char prompt[256]; + char fullpath[256]; + FILE *f; + struct stat fstats; + int retcode; + + + if (*tdefs[tbl].name == PATH_SEP) + strcpy(fullpath, tdefs[tbl].name); + else + sprintf(fullpath, "%s%c%s", + env_config(PATH_TAG, PATH_DFLT), PATH_SEP, tdefs[tbl].name); + + retcode = stat(fullpath, &fstats); + if (retcode && (errno != ENOENT)) + { + fprintf(stderr, "stat(%s) failed.\n", fullpath); + exit(-1); + } + if (S_ISREG(fstats.st_mode) && !force && *mode != 'r' ) + { + sprintf(prompt, "Do you want to overwrite %s ?", fullpath); + if (!yes_no(prompt)) + exit(0); + } + + if (S_ISFIFO(fstats.st_mode)) + { + retcode = + open(fullpath, ((*mode == 'r')?O_RDONLY:O_WRONLY)|O_CREAT); + f = fdopen(retcode, mode); + } + else + f = fopen(fullpath, mode); + OPEN_CHECK(f, fullpath); + if (header && columnar && tdefs[tbl].header != NULL) + tdefs[tbl].header(f); + + return (f); +} + + +/* + * agg_str(set, count) build an aggregated string from count unique + * selections taken from set + */ +void +agg_str(distribution *set, long count, long col, char *dest) +{ + distribution *d; + int i; + + d = set; + *dest = '\0'; + + for (i=0; i < count; i++) + { + strcat(dest, DIST_MEMBER(set,*permute_dist(d, col))); + strcat(dest, " "); + d = (distribution *)NULL; + } + *(dest + strlen(dest) - 1) = '\0'; + + return; +} + + +long +dssncasecmp(char *s1, char *s2, int n) +{ + for (; n > 0; ++s1, ++s2, --n) + if (tolower(*s1) != tolower(*s2)) + return ((tolower(*s1) < tolower(*s2)) ? -1 : 1); + else if (*s1 == '\0') + return (0); + return (0); +} + +long +dsscasecmp(char *s1, char *s2) +{ + for (; tolower(*s1) == tolower(*s2); ++s1, ++s2) + if (*s1 == '\0') + return (0); + return ((tolower(*s1) < tolower(*s2)) ? -1 : 1); +} + +#ifndef STDLIB_HAS_GETOPT +int optind = 0; +int opterr = 0; +char *optarg = NULL; + +int +getopt(int ac, char **av, char *opt) +{ + static char *nextchar = NULL; + char *cp; + char hold; + + if (optarg == NULL) + { + optarg = (char *)malloc(BUFSIZ); + MALLOC_CHECK(optarg); + } + + if (!nextchar || *nextchar == '\0') + { + optind++; + if (optind == ac) + return(-1); + nextchar = av[optind]; + if (*nextchar != '-') + return(-1); + nextchar +=1; + } + + if (nextchar && *nextchar == '-') /* -- termination */ + { + optind++; + return(-1); + } + else /* found an option */ + { + cp = strchr(opt, *nextchar); + nextchar += 1; + if (cp == NULL) /* not defined for this run */ + return('?'); + if (*(cp + 1) == ':') /* option takes an argument */ + { + if (*nextchar) + { + hold = *cp; + cp = optarg; + while (*nextchar) + *cp++ = *nextchar++; + *cp = '\0'; + *cp = hold; + } + else /* white space separated, use next arg */ + { + if (++optind == ac) + return('?'); + strcpy(optarg, av[optind]); + } + nextchar = NULL; + } + return(*cp); + } +} +#endif /* STDLIB_HAS_GETOPT */ + +char ** +mk_ascdate(void) +{ + char **m; + dss_time_t t; + DSS_HUGE i; + + m = (char**) malloc((size_t)(TOTDATE * sizeof (char *))); + MALLOC_CHECK(m); + for (i = 0; i < TOTDATE; i++) + { + mk_time(i + 1, &t); + m[i] = strdup(t.alpha); + } + + return(m); +} + +/* + * set_state() -- initialize the RNG so that + * appropriate data sets can be generated. + * For each table that is to be generated, calculate the number of rows/child, and send that to the + * seed generation routine in speed_seed.c. Note: assumes that tables are completely independent. + * Returns the number of rows to be generated by the named step. + */ +DSS_HUGE +set_state(int table, long sf, long procs, long step, DSS_HUGE *extra_rows) +{ + int i; + DSS_HUGE rowcount, remainder, result; + + if (sf == 0 || step == 0) + return(0); + + rowcount = tdefs[table].base / procs; + if ((sf / procs) > (int)MAX_32B_SCALE) + INTERNAL_ERROR("SCALE OVERFLOW. RE-RUN WITH MORE CHILDREN."); + rowcount *= sf; + remainder = (tdefs[table].base % procs) * sf; + rowcount += remainder / procs; + result = rowcount; + for (i=0; i < step - 1; i++) + { + if (table == LINE) /* special case for shared seeds */ + tdefs[table].gen_seed(1, rowcount); + else + tdefs[table].gen_seed(0, rowcount); + /* need to set seeds of child in case there's a dependency */ + /* NOTE: this assumes that the parent and child have the same base row count */ + if (tdefs[table].child != NONE) + tdefs[tdefs[table].child].gen_seed(0,rowcount); + } + *extra_rows = remainder % procs; + if (step > procs) /* moving to the end to generate updates */ + tdefs[table].gen_seed(0, *extra_rows); + + return(result); +} diff --git a/MayBMS-tpch/uncertain-tpch/build.c b/MayBMS-tpch/uncertain-tpch/build.c new file mode 100644 index 0000000..074bc43 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/build.c @@ -0,0 +1,447 @@ +/* +* $Id: build.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: build.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.4 2005/10/28 02:56:22 jms +* add platform-specific printf formats to allow for DSS_HUGE data type +* +* Revision 1.3 2005/10/14 23:16:54 jms +* fix for answer set compliance +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.3 2004/04/07 20:17:29 jms +* bug #58 (join fails between order/lineitem) +* +* Revision 1.2 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.1.1.1 2003/08/08 21:35:26 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* stuff related to the customer table */ +#include +#include +#ifndef VMS +#include +#endif +#if defined(SUN) +#include +#endif +#include + +#include "dss.h" +#include "dsstypes.h" +#ifdef ADHOC +#include "adhoc.h" +extern adhoc_t adhocs[]; +#endif /* ADHOC */ +#include "rng64.h" + +#define LEAP_ADJ(yr, mnth) \ +((LEAP(yr) && (mnth) >= 2) ? 1 : 0) +#define JDAY_BASE 8035 /* start from 1/1/70 a la unix */ +#define JMNTH_BASE (-70 * 12) /* start from 1/1/70 a la unix */ +#define JDAY(date) ((date) - STARTDATE + JDAY_BASE + 1) +#define PART_SUPP_BRIDGE(tgt, p, s) \ + { \ + DSS_HUGE tot_scnt = tdefs[SUPP].base * scale; \ + tgt = (p + s * (tot_scnt / SUPP_PER_PART + \ + (long) ((p - 1) / tot_scnt))) % tot_scnt + 1; \ + } +#define V_STR(avg, sd, tgt) a_rnd((int)(avg * V_STR_LOW),(int)(avg * V_STR_HGH), sd, tgt) +#define TEXT(avg, sd, tgt) dbg_text(tgt, (int)(avg * V_STR_LOW),(int)(avg * V_STR_HGH), sd) +//static +void gen_phone PROTO((DSS_HUGE ind, char *target, long seed)); + +DSS_HUGE +rpb_routine(DSS_HUGE p) + { + DSS_HUGE price; + + price = 90000; + price += (p/10) % 20001; /* limit contribution to $200 */ + price += (p % 1000) * 100; + + return(price); + } + +//static +void +gen_phone(DSS_HUGE ind, char *target, long seed) + { + DSS_HUGE acode, + exchg, + number; + + RANDOM(acode, 100, 999, seed); + RANDOM(exchg, 100, 999, seed); + RANDOM(number, 1000, 9999, seed); + + sprintf(target, "%02d", (int)(10 + (ind % NATIONS_MAX))); + sprintf(target + 3, "%03d", (int)acode); + sprintf(target + 7, "%03d", (int)exchg); + sprintf(target + 11, "%04d", (int)number); + target[2] = target[6] = target[10] = '-'; + + return; + } + + + +long +mk_cust(DSS_HUGE n_cust, customer_t *c) + { + DSS_HUGE i; + static int bInit = 0; + static char szFormat[100]; + + if (!bInit) + { + sprintf(szFormat, C_NAME_FMT, 9, HUGE_FORMAT + 1); + bInit = 1; + } + c->custkey = n_cust; + sprintf(c->name, szFormat, C_NAME_TAG, n_cust); + V_STR(C_ADDR_LEN, C_ADDR_SD, c->address); + c->alen = strlen(c->address); + RANDOM(i, 0, (nations.count - 1), C_NTRG_SD); + c->nation_code = i; + gen_phone(i, c->phone, (long)C_PHNE_SD); + RANDOM(c->acctbal, C_ABAL_MIN, C_ABAL_MAX, C_ABAL_SD); + pick_str(&c_mseg_set, C_MSEG_SD, c->mktsegment); + TEXT(C_CMNT_LEN, C_CMNT_SD, c->comment); + c->clen = strlen(c->comment); + + return (0); + } + + + /* + * generate the numbered order and its associated lineitems +*/ +void +mk_sparse (DSS_HUGE i, DSS_HUGE *ok, long seq) + { + long low_bits; + + *ok = i; + low_bits = (long)(i & ((1 << SPARSE_KEEP) - 1)); + *ok = *ok >> SPARSE_KEEP; + *ok = *ok << SPARSE_BITS; + *ok += seq; + *ok = *ok << SPARSE_KEEP; + *ok += low_bits; + + + return; + } + +long +mk_order(DSS_HUGE index, order_t *o, long upd_num) + { + DSS_HUGE lcnt; + DSS_HUGE rprice; + long ocnt; + DSS_HUGE tmp_date; + DSS_HUGE s_date; + DSS_HUGE r_date; + DSS_HUGE c_date; + DSS_HUGE clk_num; + DSS_HUGE supp_num; + static char **asc_date = NULL; + char tmp_str[2]; + char **mk_ascdate PROTO((void)); + int delta = 1; + static int bInit = 0; + static char szFormat[100]; + + if (!bInit) + { + sprintf(szFormat, O_CLRK_FMT, 9, HUGE_FORMAT + 1); + bInit = 1; + } + + if (asc_date == NULL) + asc_date = mk_ascdate(); + + mk_sparse (index, &o->okey, + (upd_num == 0) ? 0 : 1 + upd_num / (10000 / refresh)); + if (scale >= 30000) + RANDOM64(o->custkey, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + else + RANDOM(o->custkey, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + while (o->custkey % CUST_MORTALITY == 0) + { + o->custkey += delta; + o->custkey = MIN(o->custkey, O_CKEY_MAX); + delta *= -1; + } + + + RANDOM(tmp_date, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + strcpy(o->odate, asc_date[tmp_date - STARTDATE]); + + pick_str(&o_priority_set, O_PRIO_SD, o->opriority); + RANDOM(clk_num, 1, MAX((scale * O_CLRK_SCL), O_CLRK_SCL), O_CLRK_SD); + sprintf(o->clerk, szFormat, O_CLRK_TAG, clk_num); + TEXT(O_CMNT_LEN, O_CMNT_SD, o->comment); + o->clen = strlen(o->comment); +#ifdef DEBUG + if (o->clen > O_CMNT_MAX) fprintf(stderr, "comment error: O%d\n", index); +#endif /* DEBUG */ + o->spriority = 0; + + o->totalprice = 0; + o->orderstatus = 'O'; + ocnt = 0; + + RANDOM(o->lines, O_LCNT_MIN, O_LCNT_MAX, O_LCNT_SD); + for (lcnt = 0; lcnt < o->lines; lcnt++) + { + o->l[lcnt].okey = o->okey;; + o->l[lcnt].lcnt = lcnt + 1; + RANDOM(o->l[lcnt].quantity, L_QTY_MIN, L_QTY_MAX, L_QTY_SD); + RANDOM(o->l[lcnt].discount, L_DCNT_MIN, L_DCNT_MAX, L_DCNT_SD); + RANDOM(o->l[lcnt].tax, L_TAX_MIN, L_TAX_MAX, L_TAX_SD); + pick_str(&l_instruct_set, L_SHIP_SD, o->l[lcnt].shipinstruct); + pick_str(&l_smode_set, L_SMODE_SD, o->l[lcnt].shipmode); + TEXT(L_CMNT_LEN, L_CMNT_SD, o->l[lcnt].comment); + o->l[lcnt].clen = strlen(o->l[lcnt].comment); + if (scale >= 30000) + RANDOM64(o->l[lcnt].partkey, L_PKEY_MIN, L_PKEY_MAX, L_PKEY_SD); + else + RANDOM(o->l[lcnt].partkey, L_PKEY_MIN, L_PKEY_MAX, L_PKEY_SD); + rprice = rpb_routine(o->l[lcnt].partkey); + RANDOM(supp_num, 0, 3, L_SKEY_SD); + PART_SUPP_BRIDGE( o->l[lcnt].suppkey, o->l[lcnt].partkey, supp_num); + o->l[lcnt].eprice = rprice * o->l[lcnt].quantity; + + o->totalprice += + ((o->l[lcnt].eprice * + ((long)100 - o->l[lcnt].discount)) / (long)PENNIES ) * + ((long)100 + o->l[lcnt].tax) + / (long)PENNIES; + + RANDOM(s_date, L_SDTE_MIN, L_SDTE_MAX, L_SDTE_SD); + s_date += tmp_date; + RANDOM(c_date, L_CDTE_MIN, L_CDTE_MAX, L_CDTE_SD); + c_date += tmp_date; + RANDOM(r_date, L_RDTE_MIN, L_RDTE_MAX, L_RDTE_SD); + r_date += s_date; + + + strcpy(o->l[lcnt].sdate, asc_date[s_date - STARTDATE]); + strcpy(o->l[lcnt].cdate, asc_date[c_date - STARTDATE]); + strcpy(o->l[lcnt].rdate, asc_date[r_date - STARTDATE]); + + + if (julian(r_date) <= CURRENTDATE) + { + pick_str(&l_rflag_set, L_RFLG_SD, tmp_str); + o->l[lcnt].rflag[0] = *tmp_str; + } + else + o->l[lcnt].rflag[0] = 'N'; + + if (julian(s_date) <= CURRENTDATE) + { + ocnt++; + o->l[lcnt].lstatus[0] = 'F'; + } + else + o->l[lcnt].lstatus[0] = 'O'; + } + + if (ocnt > 0) + o->orderstatus = 'P'; + if (ocnt == o->lines) + o->orderstatus = 'F'; + + return (0); +} + +long +mk_part(DSS_HUGE index, part_t *p) + { + DSS_HUGE temp; + long snum; + DSS_HUGE brnd; + static int bInit = 0; + static char szFormat[100]; + static char szBrandFormat[100]; + + if (!bInit) + { + sprintf(szFormat, P_MFG_FMT, 1, HUGE_FORMAT + 1); + sprintf(szBrandFormat, P_BRND_FMT, 2, HUGE_FORMAT + 1); + bInit = 1; + } + + p->partkey = index; + agg_str(&colors, (long)P_NAME_SCL, (long)P_NAME_SD, p->name); + RANDOM(temp, P_MFG_MIN, P_MFG_MAX, P_MFG_SD); + sprintf(p->mfgr, szFormat, P_MFG_TAG, temp); + RANDOM(brnd, P_BRND_MIN, P_BRND_MAX, P_BRND_SD); + sprintf(p->brand, szBrandFormat, P_BRND_TAG, (temp * 10 + brnd)); + p->tlen = pick_str(&p_types_set, P_TYPE_SD, p->type); + p->tlen = strlen(p_types_set.list[p->tlen].text); + RANDOM(p->size, P_SIZE_MIN, P_SIZE_MAX, P_SIZE_SD); + pick_str(&p_cntr_set, P_CNTR_SD, p->container); + p->retailprice = rpb_routine(index); + TEXT(P_CMNT_LEN, P_CMNT_SD, p->comment); + p->clen = strlen(p->comment); + + for (snum = 0; snum < SUPP_PER_PART; snum++) + { + p->s[snum].partkey = p->partkey; + PART_SUPP_BRIDGE( p->s[snum].suppkey, index, snum); + RANDOM(p->s[snum].qty, PS_QTY_MIN, PS_QTY_MAX, PS_QTY_SD); + RANDOM(p->s[snum].scost, PS_SCST_MIN, PS_SCST_MAX, PS_SCST_SD); + TEXT(PS_CMNT_LEN, PS_CMNT_SD, p->s[snum].comment); + p->s[snum].clen = strlen(p->s[snum].comment); + } + return (0); + } + +long +mk_supp(DSS_HUGE index, supplier_t *s) + { + DSS_HUGE i, + bad_press, + noise, + offset, + type; + static int bInit = 0; + static char szFormat[100]; + + if (!bInit) + { + sprintf(szFormat, S_NAME_FMT, 9, HUGE_FORMAT + 1); + bInit = 1; + } + + s->suppkey = index; + sprintf(s->name, szFormat, S_NAME_TAG, index); + V_STR(S_ADDR_LEN, S_ADDR_SD, s->address); + s->alen = strlen(s->address); + RANDOM(i, 0, nations.count - 1, S_NTRG_SD); + s->nation_code= i; + gen_phone(i, s->phone, S_PHNE_SD); + RANDOM(s->acctbal, S_ABAL_MIN, S_ABAL_MAX, S_ABAL_SD); + + TEXT(S_CMNT_LEN, S_CMNT_SD, s->comment); + s->clen = strlen(s->comment); + /* these calls should really move inside the if stmt below, + * but this will simplify seedless parallel load + */ + RANDOM(bad_press, 1, 10000, BBB_CMNT_SD); + RANDOM(type, 0, 100, BBB_TYPE_SD); + RANDOM(noise, 0, (s->clen - BBB_CMNT_LEN), BBB_JNK_SD); + RANDOM(offset, 0, (s->clen - (BBB_CMNT_LEN + noise)), + BBB_OFFSET_SD); + if (bad_press <= S_CMNT_BBB) + { + type = (type < BBB_DEADBEATS) ?0:1; + memcpy(s->comment + offset, BBB_BASE, BBB_BASE_LEN); + if (type == 0) + memcpy(s->comment + BBB_BASE_LEN + offset + noise, + BBB_COMPLAIN, BBB_TYPE_LEN); + else + memcpy(s->comment + BBB_BASE_LEN + offset + noise, + BBB_COMMEND, BBB_TYPE_LEN); + } + + return (0); + } + +struct + { + char *mdes; + long days; + long dcnt; + } months[] = + + { + {NULL, 0, 0}, + {"JAN", 31, 31}, + {"FEB", 28, 59}, + {"MAR", 31, 90}, + {"APR", 30, 120}, + {"MAY", 31, 151}, + {"JUN", 30, 181}, + {"JUL", 31, 212}, + {"AUG", 31, 243}, + {"SEP", 30, 273}, + {"OCT", 31, 304}, + {"NOV", 30, 334}, + {"DEC", 31, 365} + }; + + long + mk_time(DSS_HUGE index, dss_time_t *t) + { + long m = 0; + long y; + long d; + + t->timekey = index + JDAY_BASE; + y = julian(index + STARTDATE - 1) / 1000; + d = julian(index + STARTDATE - 1) % 1000; + while (d > months[m].dcnt + LEAP_ADJ(y, m)) + m++; + PR_DATE(t->alpha, y, m, + d - months[m - 1].dcnt - ((LEAP(y) && m > 2) ? 1 : 0)); + t->year = 1900 + y; + t->month = m + 12 * y + JMNTH_BASE; + t->week = (d + T_START_DAY - 1) / 7 + 1; + t->day = d - months[m - 1].dcnt - LEAP_ADJ(y, m-1); + + return (0); + } + + int + mk_nation(DSS_HUGE index, code_t *c) + { + c->code = index - 1; + c->text = nations.list[index - 1].text; + c->join = nations.list[index - 1].weight; + TEXT(N_CMNT_LEN, N_CMNT_SD, c->comment); + c->clen = strlen(c->comment); + return(0); + } + + int + mk_region(DSS_HUGE index, code_t *c) + { + + c->code = index - 1; + c->text = regions.list[index - 1].text; + c->join = 0; /* for completeness */ + TEXT(R_CMNT_LEN, R_CMNT_SD, c->comment); + c->clen = strlen(c->comment); + return(0); + } diff --git a/MayBMS-tpch/uncertain-tpch/config.h b/MayBMS-tpch/uncertain-tpch/config.h new file mode 100644 index 0000000..9ec1fd5 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/config.h @@ -0,0 +1,239 @@ +/* +* $Id: config.h,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: config.h,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.3 2007/03/03 20:13:59 olteanu +* *** empty log message *** +* +* Revision 1.2 2007/03/03 19:05:06 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.8 2007/01/04 21:29:21 jms +* Porting changes uncovered as part of move to VS2005. No impact on data set +* +* Revision 1.7 2006/06/29 20:46:17 jms +* 2.4.0 changes from Meikel +* +* Revision 1.6 2006/05/31 22:25:21 jms +* Rework UnifInt calls in varsub to handle lack of PROTO defn in windows +* +* Revision 1.5 2006/05/25 22:35:36 jms +* qgen porting changes for 32b/64b +* +* Revision 1.4 2006/03/09 18:54:55 jms +* porting bugs +* +* Revision 1.3 2005/03/04 19:48:39 jms +* Changes from Doug Johnson to address very large scale factors +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.7 2004/04/08 17:36:47 jms +* clarify config.h/makefile linkage +* +* Revision 1.6 2004/04/08 17:35:00 jms +* SUN/SOLARIS ifdef merge between machines +* +* Revision 1.5 2004/04/08 17:27:53 jms +* solaris porting fixes +* +* Revision 1.4 2003/08/12 16:45:26 jms +* linux porting changes +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * this file allows the compilation of DBGEN to be tailored to specific + * architectures and operating systems. Some options are grouped + * together to allow easier compilation on a given vendor's hardware. + * + * The following #defines will effect the code: + * KILL(pid) -- how to terminate a process in a parallel load + * SPAWN -- name of system call to clone an existing process + * SET_HANDLER(proc) -- name of routine to handle signals in parallel load + * WAIT(res, pid) -- how to await the termination of a child + * SEPARATOR -- character used to separate fields in flat files + * DBNAME -- default name of database to be loaded + * STDLIB_HAS_GETOPT -- to prevent confilcts with gloabal getopt() + * MDY_DATE -- generate dates as MM-DD-YY + * WIN32 -- support for WindowsNT + * SUPPORT_64BITS -- compiler defines a 64 bit datatype + * DSS_HUGE -- 64 bit data type + * HUGE_FORMAT -- printf string for 64 bit data type + * EOL_HANDLING -- flat files don't need final column separator + * + * Certain defines must be provided in the makefile: + * MACHINE defines + * ========== + * ATT -- getopt() handling + * DOS -- disable all multi-user functionality/dependency + * HP -- posix source inclusion differences + * IBM -- posix source inclusion differences + * SGI -- getopt() handling + * SUN -- getopt() handling + * LINUX + * WIN32 -- for WINDOWS + * + * DATABASE defines + * ================ + * DB2 -- use DB2 dialect in QGEN + * INFORMIX -- use Informix dialect in QGEN + * SQLSERVER -- use SQLSERVER dialect in QGEN + * SYBASE -- use Sybase dialect in QGEN + * TDAT -- use Teradata dialect in QGEN + * + * WORKLOAD defines + * ================ + * TPCH -- make will create TPCH (set in makefile) + */ + +#ifdef DOS +#define DSS_PROC 1 +#define PATH_SEP '\\' +#else + + +#ifdef ATT +#define STDLIB_HAS_GETOPT +#ifdef SQLSERVER +#define WIN32 +#else +/* the 64 bit defines are for the Metaware compiler */ +#define SUPPORT_64BITS +#define DSS_HUGE long long +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#define HUGE_FORMAT "%LLd" +#define HUGE_DATE_FORMAT "%02LLd" +#endif /* SQLSERVER or MP/RAS */ +#endif /* ATT */ + +#ifdef HP +#define _INCLUDE_POSIX_SOURCE +#define STDLIB_HAS_GETOPT +#endif /* HP */ + +#ifdef IBM +#define STDLIB_HAS_GETOPT +#define SUPPORT_64BITS +#define DSS_HUGE long long +#define HUGE_FORMAT "%lld" +#define HUGE_DATE_FORMAT "%02lld" +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#endif /* IBM */ + +#ifdef LINUX +#define STDLIB_HAS_GETOPT +#define SUPPORT_64BITS +#define DSS_HUGE long long int +#define HUGE_FORMAT "%lld" +#define HUGE_DATE_FORMAT "%02lld" +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#endif /* LINUX */ + +#ifdef SUN +#define STDLIB_HAS_GETOPT +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#define SUPPORT_64BITS +#define DSS_HUGE long long +#define HUGE_FORMAT "%lld" +#define HUGE_DATE_FORMAT "%02lld" +#endif /* SUN */ + +#ifdef SGI +#define STDLIB_HAS_GETOPT +#define SUPPORT_64BITS +#define DSS_HUGE __int64_t +#endif /* SGI */ + +#if (defined(WIN32)&&!defined(_POSIX_)) +#define pid_t int +#define SET_HANDLER(proc) signal(SIGINT, proc) +#define KILL(pid) \ + TerminateProcess(OpenProcess(PROCESS_TERMINATE,FALSE,pid),3) +#if (defined (__WATCOMC__)) +#define SPAWN() spawnv(P_NOWAIT, spawn_args[0], spawn_args) +#define WAIT(res, pid) cwait(res, pid, WAIT_CHILD) +#else +#define SPAWN() _spawnv(_P_NOWAIT, spawn_args[0], spawn_args) +#define WAIT(res, pid) _cwait(res, pid, _WAIT_CHILD) +#define getpid _getpid +#endif /* WATCOMC */ +#define SIGS_DEFINED +#define PATH_SEP '\\' +#define SUPPORT_64BITS +#define DSS_HUGE __int64 +#define RNG_A 6364136223846793005uI64 +#define RNG_C 1uI64 +#define HUGE_FORMAT "%I64d" +#define HUGE_DATE_FORMAT "%02I64d" +/* need to define process termination codes to match UNIX */ +/* these are copied from Linux/GNU and need to be verified as part of a rework of */ +/* process handling under NT (29 Apr 98) */ +#define WIFEXITED(s) ((s & 0xFF) == 0) +#define WIFSIGNALED(s) (((unsigned int)((status)-1) & 0xFFFF) < 0xFF) +#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f) +#define WTERMSIG(s) ((s) & 0x7f) +#define WSTOPSIG(s) (((s) & 0xff00) >> 8) +/* requried by move to Visual Studio 2005 */ +#define strdup(x) _strdup(x) +#endif /* WIN32 */ + +#ifndef SIGS_DEFINED +#define KILL(pid) kill(SIGUSR1, pid) +#define SET_HANDLER(proc) signal(SIGUSR1, proc) +#define SPAWN fork +#define WAIT(res, pid) wait(res) +#endif /* DEFAULT */ + +#define DSS_PROC getpid() +#endif /* DOS */ + +#ifndef DBNAME +#define DBNAME "dss" +#endif /* DBNAME */ + +#ifndef PATH_SEP +#define PATH_SEP '/' +#endif /* PATH_SEP */ + +#ifndef DSS_HUGE +#error Support for a 64-bit datatype is required in this release +#endif + +#ifndef DOUBLE_CAST +#define DOUBLE_CAST (double) +#endif /* DOUBLE_CAST */ + +/* added by olteanu */ + +#ifndef EOL_HANDLING +#define EOL_HANDLING 1 +#endif /* EOL_HANDLING */ + +/* addition finished */ + diff --git a/MayBMS-tpch/uncertain-tpch/dbgen.dsp b/MayBMS-tpch/uncertain-tpch/dbgen.dsp new file mode 100644 index 0000000..c69c632 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/dbgen.dsp @@ -0,0 +1,168 @@ +# Microsoft Developer Studio Project File - Name="dbgen" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=dbgen - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "dbgen.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "dbgen.mak" CFG="dbgen - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "dbgen - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "dbgen - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "dbgen - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "TPCH" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "dbgen - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "TPCH" /FR /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "dbgen - Win32 Release" +# Name "dbgen - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\bm_utils.c +# End Source File +# Begin Source File + +SOURCE=.\build.c +# End Source File +# Begin Source File + +SOURCE=.\driver.c +# End Source File +# Begin Source File + +SOURCE=.\load_stub.c +# End Source File +# Begin Source File + +SOURCE=.\permute.c +# End Source File +# Begin Source File + +SOURCE=.\print.c +# End Source File +# Begin Source File + +SOURCE=.\rnd.c +# End Source File +# Begin Source File + +SOURCE=.\rng64.c +# End Source File +# Begin Source File + +SOURCE=.\speed_seed.c +# End Source File +# Begin Source File + +SOURCE=.\text.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\config.h +# End Source File +# Begin Source File + +SOURCE=.\dss.h +# End Source File +# Begin Source File + +SOURCE=.\dsstypes.h +# End Source File +# Begin Source File + +SOURCE=.\permute.h +# End Source File +# Begin Source File + +SOURCE=.\rnd.h +# End Source File +# Begin Source File + +SOURCE=.\rng64.h +# End Source File +# Begin Source File + +SOURCE=.\shared.h +# End Source File +# Begin Source File + +SOURCE=.\tpcd.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/MayBMS-tpch/uncertain-tpch/dists.dss b/MayBMS-tpch/uncertain-tpch/dists.dss new file mode 100644 index 0000000..ab76dbb --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/dists.dss @@ -0,0 +1,842 @@ +# +# $Id: dists.dss,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +# +# Revision History +# =================== +# $Log: dists.dss,v $ +# Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +# +# +# Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +# +# +# Revision 1.2 2005/01/03 20:08:58 jms +# change line terminations +# +# Revision 1.1.1.1 2004/11/24 23:31:46 jms +# re-establish external server +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# recreation after CVS crash +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# initial checkin +# +# +# +# +# distributions have the following format: +# +# | # comment +# +# Distributions are used to bias the selection of a token +# based on its associated weight. The list of tokens and values +# between the keywords BEGIN and END define the distribution named after +# the BEGIN. A uniformly random value from [0, sum(weights)] +# will be chosen and the first token whose cumulative weight is greater than +# or equal to the result will be returned. In essence, the weights for each +# token represent its relative weight within a distribution. +# +# one special token is defined: count (number of data points in the +# distribution). It MUST be defined for each named distribution. +#----------------------------------------------------------------------- +# currently defined distributions and their use: +# NAME FIELD/NOTES +# ======== ============== +# category parts.category +# container parts.container +# instruct shipping instructions +# msegmnt market segment +# names parts.name +# nations must be ordered along with regions +# nations2 stand alone nations set for use with qgen +# o_prio order priority +# regions must be ordered along with nations +# rflag lineitems.returnflag +# types parts.type +# colors embedded string creation; CANNOT BE USED FOR pick_str(), agg_str() perturbs order +# articles comment generation +# nouns +# verbs +# adverbs +# auxillaries +# prepositions +# terminators +# grammar sentence formation +# np +# vp +### +# category +### +BEGIN category +COUNT|5 +FURNITURE|1 +STORAGE EQUIP|1 +TOOLS|1 +MACHINE TOOLS|1 +OTHER|1 +END category +### +# container +### +begin p_cntr +count|40 +SM CASE|1 +SM BOX|1 +SM BAG|1 +SM JAR|1 +SM PACK|1 +SM PKG|1 +SM CAN|1 +SM DRUM|1 +LG CASE|1 +LG BOX|1 +LG BAG|1 +LG JAR|1 +LG PACK|1 +LG PKG|1 +LG CAN|1 +LG DRUM|1 +MED CASE|1 +MED BOX|1 +MED BAG|1 +MED JAR|1 +MED PACK|1 +MED PKG|1 +MED CAN|1 +MED DRUM|1 +JUMBO CASE|1 +JUMBO BOX|1 +JUMBO BAG|1 +JUMBO JAR|1 +JUMBO PACK|1 +JUMBO PKG|1 +JUMBO CAN|1 +JUMBO DRUM|1 +WRAP CASE|1 +WRAP BOX|1 +WRAP BAG|1 +WRAP JAR|1 +WRAP PACK|1 +WRAP PKG|1 +WRAP CAN|1 +WRAP DRUM|1 +end p_cntr +### +# instruct +### +begin instruct +count|4 +DELIVER IN PERSON|1 +COLLECT COD|1 +TAKE BACK RETURN|1 +NONE|1 +end instruct +### +# msegmnt +### +begin msegmnt +count|5 +AUTOMOBILE|1 +BUILDING|1 +FURNITURE|1 +HOUSEHOLD|1 +MACHINERY|1 +end msegmnt +### +# names +### +begin p_names +COUNT|4 +CLEANER|1 +SOAP|1 +DETERGENT|1 +EXTRA|1 +end p_names +### +# nations +# NOTE: this is a special case; the weights here are adjustments to +# map correctly into the regions table, and are *NOT* cummulative +# values to mimic a distribution +### +begin nations +count|25 +ALGERIA|0 +ARGENTINA|1 +BRAZIL|0 +CANADA|0 +EGYPT|3 +ETHIOPIA|-4 +FRANCE|3 +GERMANY|0 +INDIA|-1 +INDONESIA|0 +IRAN|2 +IRAQ|0 +JAPAN|-2 +JORDAN|2 +KENYA|-4 +MOROCCO|0 +MOZAMBIQUE|0 +PERU|1 +CHINA|1 +ROMANIA|1 +SAUDI ARABIA|1 +VIETNAM|-2 +RUSSIA|1 +UNITED KINGDOM|0 +UNITED STATES|-2 +end nations +### +# nations2 +### +begin nations2 +count|25 +ALGERIA|1 +ARGENTINA|1 +BRAZIL|1 +CANADA|1 +EGYPT|1 +ETHIOPIA|1 +FRANCE|1 +GERMANY|1 +INDIA|1 +INDONESIA|1 +IRAN|1 +IRAQ|1 +JAPAN|1 +JORDAN|1 +KENYA|1 +MOROCCO|1 +MOZAMBIQUE|1 +PERU|1 +CHINA|1 +ROMANIA|1 +SAUDI ARABIA|1 +VIETNAM|1 +RUSSIA|1 +UNITED KINGDOM|1 +UNITED STATES|1 +end nations2 +### +# regions +### +begin regions +count|5 +AFRICA|1 +AMERICA|1 +ASIA|1 +EUROPE|1 +MIDDLE EAST|1 +end regions +### +# o_prio +### +begin o_oprio +count|5 +1-URGENT|1 +2-HIGH|1 +3-MEDIUM|1 +4-NOT SPECIFIED|1 +5-LOW|1 +end o_oprio +### +# rflag +### +begin rflag +count|2 +R|1 +A|1 +end rflag +### +# smode +### +begin smode +count|7 +REG AIR|1 +AIR|1 +RAIL|1 +TRUCK|1 +MAIL|1 +FOB|1 +SHIP|1 +end smode +### +# types +### +begin p_types +COUNT|150 +STANDARD ANODIZED TIN|1 +STANDARD ANODIZED NICKEL|1 +STANDARD ANODIZED BRASS|1 +STANDARD ANODIZED STEEL|1 +STANDARD ANODIZED COPPER|1 +STANDARD BURNISHED TIN|1 +STANDARD BURNISHED NICKEL|1 +STANDARD BURNISHED BRASS|1 +STANDARD BURNISHED STEEL|1 +STANDARD BURNISHED COPPER|1 +STANDARD PLATED TIN|1 +STANDARD PLATED NICKEL|1 +STANDARD PLATED BRASS|1 +STANDARD PLATED STEEL|1 +STANDARD PLATED COPPER|1 +STANDARD POLISHED TIN|1 +STANDARD POLISHED NICKEL|1 +STANDARD POLISHED BRASS|1 +STANDARD POLISHED STEEL|1 +STANDARD POLISHED COPPER|1 +STANDARD BRUSHED TIN|1 +STANDARD BRUSHED NICKEL|1 +STANDARD BRUSHED BRASS|1 +STANDARD BRUSHED STEEL|1 +STANDARD BRUSHED COPPER|1 +SMALL ANODIZED TIN|1 +SMALL ANODIZED NICKEL|1 +SMALL ANODIZED BRASS|1 +SMALL ANODIZED STEEL|1 +SMALL ANODIZED COPPER|1 +SMALL BURNISHED TIN|1 +SMALL BURNISHED NICKEL|1 +SMALL BURNISHED BRASS|1 +SMALL BURNISHED STEEL|1 +SMALL BURNISHED COPPER|1 +SMALL PLATED TIN|1 +SMALL PLATED NICKEL|1 +SMALL PLATED BRASS|1 +SMALL PLATED STEEL|1 +SMALL PLATED COPPER|1 +SMALL POLISHED TIN|1 +SMALL POLISHED NICKEL|1 +SMALL POLISHED BRASS|1 +SMALL POLISHED STEEL|1 +SMALL POLISHED COPPER|1 +SMALL BRUSHED TIN|1 +SMALL BRUSHED NICKEL|1 +SMALL BRUSHED BRASS|1 +SMALL BRUSHED STEEL|1 +SMALL BRUSHED COPPER|1 +MEDIUM ANODIZED TIN|1 +MEDIUM ANODIZED NICKEL|1 +MEDIUM ANODIZED BRASS|1 +MEDIUM ANODIZED STEEL|1 +MEDIUM ANODIZED COPPER|1 +MEDIUM BURNISHED TIN|1 +MEDIUM BURNISHED NICKEL|1 +MEDIUM BURNISHED BRASS|1 +MEDIUM BURNISHED STEEL|1 +MEDIUM BURNISHED COPPER|1 +MEDIUM PLATED TIN|1 +MEDIUM PLATED NICKEL|1 +MEDIUM PLATED BRASS|1 +MEDIUM PLATED STEEL|1 +MEDIUM PLATED COPPER|1 +MEDIUM POLISHED TIN|1 +MEDIUM POLISHED NICKEL|1 +MEDIUM POLISHED BRASS|1 +MEDIUM POLISHED STEEL|1 +MEDIUM POLISHED COPPER|1 +MEDIUM BRUSHED TIN|1 +MEDIUM BRUSHED NICKEL|1 +MEDIUM BRUSHED BRASS|1 +MEDIUM BRUSHED STEEL|1 +MEDIUM BRUSHED COPPER|1 +LARGE ANODIZED TIN|1 +LARGE ANODIZED NICKEL|1 +LARGE ANODIZED BRASS|1 +LARGE ANODIZED STEEL|1 +LARGE ANODIZED COPPER|1 +LARGE BURNISHED TIN|1 +LARGE BURNISHED NICKEL|1 +LARGE BURNISHED BRASS|1 +LARGE BURNISHED STEEL|1 +LARGE BURNISHED COPPER|1 +LARGE PLATED TIN|1 +LARGE PLATED NICKEL|1 +LARGE PLATED BRASS|1 +LARGE PLATED STEEL|1 +LARGE PLATED COPPER|1 +LARGE POLISHED TIN|1 +LARGE POLISHED NICKEL|1 +LARGE POLISHED BRASS|1 +LARGE POLISHED STEEL|1 +LARGE POLISHED COPPER|1 +LARGE BRUSHED TIN|1 +LARGE BRUSHED NICKEL|1 +LARGE BRUSHED BRASS|1 +LARGE BRUSHED STEEL|1 +LARGE BRUSHED COPPER|1 +ECONOMY ANODIZED TIN|1 +ECONOMY ANODIZED NICKEL|1 +ECONOMY ANODIZED BRASS|1 +ECONOMY ANODIZED STEEL|1 +ECONOMY ANODIZED COPPER|1 +ECONOMY BURNISHED TIN|1 +ECONOMY BURNISHED NICKEL|1 +ECONOMY BURNISHED BRASS|1 +ECONOMY BURNISHED STEEL|1 +ECONOMY BURNISHED COPPER|1 +ECONOMY PLATED TIN|1 +ECONOMY PLATED NICKEL|1 +ECONOMY PLATED BRASS|1 +ECONOMY PLATED STEEL|1 +ECONOMY PLATED COPPER|1 +ECONOMY POLISHED TIN|1 +ECONOMY POLISHED NICKEL|1 +ECONOMY POLISHED BRASS|1 +ECONOMY POLISHED STEEL|1 +ECONOMY POLISHED COPPER|1 +ECONOMY BRUSHED TIN|1 +ECONOMY BRUSHED NICKEL|1 +ECONOMY BRUSHED BRASS|1 +ECONOMY BRUSHED STEEL|1 +ECONOMY BRUSHED COPPER|1 +PROMO ANODIZED TIN|1 +PROMO ANODIZED NICKEL|1 +PROMO ANODIZED BRASS|1 +PROMO ANODIZED STEEL|1 +PROMO ANODIZED COPPER|1 +PROMO BURNISHED TIN|1 +PROMO BURNISHED NICKEL|1 +PROMO BURNISHED BRASS|1 +PROMO BURNISHED STEEL|1 +PROMO BURNISHED COPPER|1 +PROMO PLATED TIN|1 +PROMO PLATED NICKEL|1 +PROMO PLATED BRASS|1 +PROMO PLATED STEEL|1 +PROMO PLATED COPPER|1 +PROMO POLISHED TIN|1 +PROMO POLISHED NICKEL|1 +PROMO POLISHED BRASS|1 +PROMO POLISHED STEEL|1 +PROMO POLISHED COPPER|1 +PROMO BRUSHED TIN|1 +PROMO BRUSHED NICKEL|1 +PROMO BRUSHED BRASS|1 +PROMO BRUSHED STEEL|1 +PROMO BRUSHED COPPER|1 +end p_types +### +# colors +# NOTE: This distribution CANNOT be used by pick_str(), since agg_str() perturbs its order +### +begin colors +COUNT|92 +almond|1 +antique|1 +aquamarine|1 +azure|1 +beige|1 +bisque|1 +black|1 +blanched|1 +blue|1 +blush|1 +brown|1 +burlywood|1 +burnished|1 +chartreuse|1 +chiffon|1 +chocolate|1 +coral|1 +cornflower|1 +cornsilk|1 +cream|1 +cyan|1 +dark|1 +deep|1 +dim|1 +dodger|1 +drab|1 +firebrick|1 +floral|1 +forest|1 +frosted|1 +gainsboro|1 +ghost|1 +goldenrod|1 +green|1 +grey|1 +honeydew|1 +hot|1 +indian|1 +ivory|1 +khaki|1 +lace|1 +lavender|1 +lawn|1 +lemon|1 +light|1 +lime|1 +linen|1 +magenta|1 +maroon|1 +medium|1 +metallic|1 +midnight|1 +mint|1 +misty|1 +moccasin|1 +navajo|1 +navy|1 +olive|1 +orange|1 +orchid|1 +pale|1 +papaya|1 +peach|1 +peru|1 +pink|1 +plum|1 +powder|1 +puff|1 +purple|1 +red|1 +rose|1 +rosy|1 +royal|1 +saddle|1 +salmon|1 +sandy|1 +seashell|1 +sienna|1 +sky|1 +slate|1 +smoke|1 +snow|1 +spring|1 +steel|1 +tan|1 +thistle|1 +tomato|1 +turquoise|1 +violet|1 +wheat|1 +white|1 +yellow|1 +end colors +################ +################ +## psuedo text distributions +################ +################ +### +# nouns +### +BEGIN nouns +COUNT|45 +packages|40 +requests|40 +accounts|40 +deposits|40 +foxes|20 +ideas|20 +theodolites|20 +pinto beans|20 +instructions|20 +dependencies|10 +excuses|10 +platelets|10 +asymptotes|10 +courts|5 +dolphins|5 +multipliers|1 +sauternes|1 +warthogs|1 +frets|1 +dinos|1 +attainments|1 +somas|1 +Tiresias|1 +patterns|1 +forges|1 +braids|1 +frays|1 +warhorses|1 +dugouts|1 +notornis|1 +epitaphs|1 +pearls|1 +tithes|1 +waters|1 +orbits|1 +gifts|1 +sheaves|1 +depths|1 +sentiments|1 +decoys|1 +realms|1 +pains|1 +grouches|1 +escapades|1 +hockey players|1 +END nouns +### +# verbs +### +BEGIN verbs +COUNT|40 +sleep|20 +wake|20 +are|20 +cajole|20 +haggle|20 +nag|10 +use|10 +boost|10 +affix|5 +detect|5 +integrate|5 +maintain|1 +nod|1 +was|1 +lose|1 +sublate|1 +solve|1 +thrash|1 +promise|1 +engage|1 +hinder|1 +print|1 +x-ray|1 +breach|1 +eat|1 +grow|1 +impress|1 +mold|1 +poach|1 +serve|1 +run|1 +dazzle|1 +snooze|1 +doze|1 +unwind|1 +kindle|1 +play|1 +hang|1 +believe|1 +doubt|1 +END verbs +### +# adverbs +## +BEGIN adverbs +COUNT|28 +sometimes|1 +always|1 +never|1 +furiously|50 +slyly|50 +carefully|50 +blithely|40 +quickly|30 +fluffily|20 +slowly|1 +quietly|1 +ruthlessly|1 +thinly|1 +closely|1 +doggedly|1 +daringly|1 +bravely|1 +stealthily|1 +permanently|1 +enticingly|1 +idly|1 +busily|1 +regularly|1 +finally|1 +ironically|1 +evenly|1 +boldly|1 +silently|1 +END adverbs +### +# articles +## +BEGIN articles +COUNT|3 +the|50 +a|20 +an|5 +END articles +### +# prepositions +## +BEGIN prepositions +COUNT|47 +about|50 +above|50 +according to|50 +across|50 +after|50 +against|40 +along|40 +alongside of|30 +among|30 +around|20 +at|10 +atop|1 +before|1 +behind|1 +beneath|1 +beside|1 +besides|1 +between|1 +beyond|1 +by|1 +despite|1 +during|1 +except|1 +for|1 +from|1 +in place of|1 +inside|1 +instead of|1 +into|1 +near|1 +of|1 +on|1 +outside|1 +over|1 +past|1 +since|1 +through|1 +throughout|1 +to|1 +toward|1 +under|1 +until|1 +up|1 +upon|1 +whithout|1 +with|1 +within|1 +END prepositions +### +# auxillaries +## +BEGIN auxillaries +COUNT|18 +do|1 +may|1 +might|1 +shall|1 +will|1 +would|1 +can|1 +could|1 +should|1 +ought to|1 +must|1 +will have to|1 +shall have to|1 +could have to|1 +should have to|1 +must have to|1 +need to|1 +try to|1 +END auxiallaries +### +# terminators +## +BEGIN terminators +COUNT|6 +.|50 +;|1 +:|1 +?|1 +!|1 +--|1 +END terminators +### +# adjectives +## +BEGIN adjectives +COUNT|29 +special|20 +pending|20 +unusual|20 +express|20 +furious|1 +sly|1 +careful|1 +blithe|1 +quick|1 +fluffy|1 +slow|1 +quiet|1 +ruthless|1 +thin|1 +close|1 +dogged|1 +daring|1 +brave|1 +stealthy|1 +permanent|1 +enticing|1 +idle|1 +busy|1 +regular|50 +final|40 +ironic|40 +even|30 +bold|20 +silent|10 +END adjectives +### +# grammar +# first level grammar. N=noun phrase, V=verb phrase, +# P=prepositional phrase, T=setence termination +## +BEGIN grammar +COUNT|5 +N V T|3 +N V P T|3 +N V N T|3 +N P V N T|1 +N P V P T|1 +END grammar +### +# NP +# second level grammar. Noun phrases. N=noun, A=article, +# J=adjective, D=adverb +## +BEGIN np +COUNT|4 +N|10 +J N|20 +J, J N|10 +D J N|50 +END np +### +# VP +# second level grammar. Verb phrases. V=verb, X=auxiallary, +# D=adverb +## +BEGIN vp +COUNT|4 +V|30 +X V|1 +V D|40 +X V D|1 +END vp +### +# Q13 +# Substitution parameters for Q13 +## +BEGIN Q13a +COUNT|4 +special|20 +pending|20 +unusual|20 +express|20 +END Q13a +BEGIN Q13b +COUNT|4 +packages|40 +requests|40 +accounts|40 +deposits|40 +END Q13b diff --git a/MayBMS-tpch/uncertain-tpch/driver.c b/MayBMS-tpch/uncertain-tpch/driver.c new file mode 100644 index 0000000..f8b3b81 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/driver.c @@ -0,0 +1,2450 @@ +/* +* $Id: driver.c,v 1.21 2007/03/21 04:41:00 olteanu Exp $ +* +* Revision History +* =================== +* $Log: driver.c,v $ +* Revision 1.21 2007/03/21 04:41:00 olteanu +* *** empty log message *** +* +* Revision 1.20 2007/03/21 04:05:15 olteanu +* *** empty log message *** +* +* Revision 1.19 2007/03/20 16:54:17 olteanu +* *** empty log message *** +* +* Revision 1.18 2007/03/19 21:07:58 olteanu +* *** empty log message *** +* +* Revision 1.17 2007/03/19 14:52:30 olteanu +* *** empty log message *** +* +* Revision 1.16 2007/03/19 01:03:31 olteanu +* *** empty log message *** +* +* Revision 1.15 2007/03/18 22:46:49 olteanu +* *** empty log message *** +* +* Revision 1.14 2007/03/18 20:55:32 olteanu +* *** empty log message *** +* +* Revision 1.13 2007/03/18 13:04:39 olteanu +* *** empty log message *** +* +* Revision 1.12 2007/03/17 00:37:04 olteanu +* *** empty log message *** +* +* Revision 1.11 2007/03/16 23:50:37 olteanu +* *** empty log message *** +* +* Revision 1.10 2007/03/16 22:57:42 olteanu +* *** empty log message *** +* +* Revision 1.9 2007/03/16 21:30:50 olteanu +* *** empty log message *** +* +* Revision 1.8 2007/03/15 18:49:36 olteanu +* *** empty log message *** +* +* Revision 1.7 2007/03/15 13:09:32 olteanu +* *** empty log message *** +* +* Revision 1.6 2007/03/15 12:31:50 olteanu +* *** empty log message *** +* +* Revision 1.5 2007/03/14 21:03:01 olteanu +* *** empty log message *** +* +* Revision 1.4 2007/03/14 20:21:53 olteanu +* *** empty log message *** +* +* Revision 1.3 2007/03/14 20:19:06 olteanu +* *** empty log message *** +* +* Revision 1.2 2007/03/14 17:57:11 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* Revision 1.4 2007/03/06 15:46:22 olteanu +* *** empty log message *** +* +* Revision 1.3 2007/03/04 18:41:02 olteanu +* *** empty log message *** +* +* Revision 1.2 2007/03/02 18:13:30 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* added functionality to generate U-relations +* +*/ +/* main driver for dss banchmark */ + +#define DECLARER /* EXTERN references get defined here */ +#define NO_FUNC (int (*) ()) NULL /* to clean up tdefs */ +#define NO_LFUNC (long (*) ()) NULL /* to clean up tdefs */ + +#define V_STR(avg, sd, tgt) a_rnd((int)(avg * V_STR_LOW),(int)(avg * V_STR_HGH), sd, tgt) +#define TEXT(avg, sd, tgt) dbg_text(tgt, (int)(avg * V_STR_LOW),(int)(avg * V_STR_HGH), sd) + +#include "config.h" +#include "release.h" +#include "dss.h" +#include +#if (defined(_POSIX_)||!defined(WIN32)) /* Change for Windows NT */ +#include +#include +#endif /* WIN32 */ +#include /* */ +#include +#include +#include +#include +#include +#include +#ifdef HP +#include +#endif +#if (defined(WIN32)&&!defined(_POSIX_)) +#include +#pragma warning(disable:4201) +#pragma warning(disable:4214) +#pragma warning(disable:4514) +#define WIN32_LEAN_AND_MEAN +#define NOATOM +#define NOGDICAPMASKS +#define NOMETAFILE +#define NOMINMAX +#define NOMSG +#define NOOPENFILE +#define NORASTEROPS +#define NOSCROLL +#define NOSOUND +#define NOSYSMETRICS +#define NOTEXTMETRIC +#define NOWH +#define NOCOMM +#define NOKANJI +#define NOMCX +#include +#pragma warning(default:4201) +#pragma warning(default:4214) +#endif + +#include "dss.h" +#include "dsstypes.h" + +/* +* Function prototypes +*/ +void usage (void); +int prep_direct (char *); +int close_direct (void); +void kill_load (void); +int pload (int tbl); +void gen_template (int tnum, DSS_HUGE start, DSS_HUGE count, long upd_num); +void gen_component_tuplelevel (int arity, long idx); +void gen_component_attrlevel (int arity, long idx); +void gen_components (void); +int pr_drange (int tbl, DSS_HUGE min, DSS_HUGE cnt, long num); +int set_files (int t, int pload); +int partial (int, int); + + +extern int optind, opterr; +extern char *optarg; +DSS_HUGE rowcnt = 0, minrow = 0; +long upd_num = 0; +double flt_scale; +#if (defined(WIN32)&&!defined(_POSIX_)) +char *spawn_args[25]; +#endif + + +/* +* general table descriptions. See dss.h for details on structure +* NOTE: tables with no scaling info are scaled according to +* another table +* +* +* the following is based on the tdef structure defined in dss.h as: +* typedef struct +* { +* char *name; -- name of the table; +* flat file output in .tbl +* long base; -- base scale rowcount of table; +* 0 if derived +* int (*header) (); -- function to prep output +* int (*loader[2]) (); -- functions to present output +* long (*gen_seed) (); -- functions to seed the RNG +* int (*verify) (); -- function to verfiy the data set without building it +* int child; -- non-zero if there is an associated detail table +* unsigned long vtotal; -- "checksum" total +* } tdef; +* +*/ + +/* +* flat file print functions; used with -F(lat) option +*/ +int pr_cust (customer_t * c, int mode); +int pr_line (order_t * o, int mode); +int pr_order (order_t * o, int mode); +int pr_part (part_t * p, int mode); +int pr_psupp (part_t * p, int mode); +int pr_supp (supplier_t * s, int mode); +int pr_order_line (order_t * o, int mode); +int pr_part_psupp (part_t * p, int mode); +int pr_nation (code_t * c, int mode); +int pr_region (code_t * c, int mode); +int pr_component_value(int table, long tid, int attr, int cid, DSS_HUGE wid, void* value); + +/* +* inline load functions; used with -D(irect) option +*/ +int ld_cust (customer_t * c, int mode); +int ld_line (order_t * o, int mode); +int ld_order (order_t * o, int mode); +int ld_part (part_t * p, int mode); +int ld_psupp (part_t * p, int mode); +int ld_supp (supplier_t * s, int mode); +int ld_order_line (order_t * o, int mode); +int ld_part_psupp (part_t * p, int mode); +int ld_nation (code_t * c, int mode); +int ld_region (code_t * c, int mode); + +/* +* seed generation functions; used with '-O s' option +*/ +long sd_cust (int child, DSS_HUGE skip_count); +long sd_line (int child, DSS_HUGE skip_count); +long sd_order (int child, DSS_HUGE skip_count); +long sd_part (int child, DSS_HUGE skip_count); +long sd_psupp (int child, DSS_HUGE skip_count); +long sd_supp (int child, DSS_HUGE skip_count); +long sd_order_line (int child, DSS_HUGE skip_count); +long sd_part_psupp (int child, DSS_HUGE skip_count); + +/* +* header output functions); used with -h(eader) option +*/ +int hd_cust (FILE * f); +int hd_line (FILE * f); +int hd_order (FILE * f); +int hd_part (FILE * f); +int hd_psupp (FILE * f); +int hd_supp (FILE * f); +int hd_order_line (FILE * f); +int hd_part_psupp (FILE * f); +int hd_nation (FILE * f); +int hd_region (FILE * f); + +/* +* data verfication functions; used with -O v option +*/ +int vrf_cust (customer_t * c, int mode); +int vrf_line (order_t * o, int mode); +int vrf_order (order_t * o, int mode); +int vrf_part (part_t * p, int mode); +int vrf_psupp (part_t * p, int mode); +int vrf_supp (supplier_t * s, int mode); +int vrf_order_line (order_t * o, int mode); +int vrf_part_psupp (part_t * p, int mode); +int vrf_nation (code_t * c, int mode); +int vrf_region (code_t * c, int mode); + + +tdef tdefs[] = +{ + {"part.tbl", "part table", 200000, hd_part, + {pr_part, ld_part}, sd_part, vrf_part, PSUPP, 0}, + {"partsupp.tbl", "partsupplier table", 200000, hd_psupp, + {pr_psupp, ld_psupp}, sd_psupp, vrf_psupp, NONE, 0}, + {"supplier.tbl", "suppliers table", 10000, hd_supp, + {pr_supp, ld_supp}, sd_supp, vrf_supp, NONE, 0}, + {"customer.tbl", "customers table", 150000, hd_cust, + {pr_cust, ld_cust}, sd_cust, vrf_cust, NONE, 0}, + {"orders.tbl", "order table", 150000, hd_order, + {pr_order, ld_order}, sd_order, vrf_order, LINE, 0}, + {"lineitem.tbl", "lineitem table", 150000, hd_line, + {pr_line, ld_line}, sd_line, vrf_line, NONE, 0}, + {"orders.tbl", "orders/lineitem tables", 150000, hd_order_line, + {pr_order_line, ld_order_line}, sd_order, vrf_order_line, LINE, 0}, + {"part.tbl", "part/partsupplier tables", 200000, hd_part_psupp, + {pr_part_psupp, ld_part_psupp}, sd_part, vrf_part_psupp, PSUPP, 0}, + {"nation.tbl", "nation table", NATIONS_MAX, hd_nation, + {pr_nation, ld_nation}, NO_LFUNC, vrf_nation, NONE, 0}, + {"region.tbl", "region table", NATIONS_MAX, hd_region, + {pr_region, ld_region}, NO_LFUNC, vrf_region, NONE, 0}, + // + {"part_p_partkey.tbl", "Part.P_Partkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_name.tbl", "Part.P_Name", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_mfgr.tbl", "Part.P_Mfgr", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_brand.tbl", "Part.P_Brand", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_type.tbl", "Part.P_Type", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_size.tbl", "Part.P_Size", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_container.tbl", "Part.P_Container", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_retailprice.tbl", "Part.P_Retailprice", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"part_p_comment.tbl", "Part.P_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + // + {"supp_s_suppkey.tbl", "Supp.S_Suppkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"supp_s_name.tbl", "Supp.S_Name", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"supp_s_address.tbl", "Supp.S_Address", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"supp_s_nationkey.tbl", "Supp.S_Nationkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"supp_s_phone.tbl", "Supp.S_Phone", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"supp_s_acctbal.tbl", "Supp.S_Acctbal", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"supp_s_comment.tbl", "Supp.S_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + // + {"psupp_ps_partkey.tbl", "Psupp.PS_Partkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"psupp_ps_suppkey.tbl", "Psupp.PS_Suppkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"psupp_ps_availqty.tbl", "Psupp.PS_Availqty", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"psupp_ps_supplycost.tbl", "Psupp.PS_Supplycost", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"psupp_ps_comment.tbl", "Psupp.PS_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + // + {"cust_c_custkey.tbl", "Cust.C_Custkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"cust_c_name.tbl", "Cust.C_Name", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"cust_c_address.tbl", "Cust.C_Address", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"cust_c_nationkey.tbl", "Cust.C_Nationkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"cust_c_phone.tbl", "Cust.C_Phone", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"cust_c_acctbal.tbl", "Cust.C_Acctbal", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"cust_c_mktsegment.tbl", "Cust.C_Mktsegment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"cust_c_comment.tbl", "Cust.C_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + // + {"orders_o_orderkey.tbl", "Orders.O_Orderkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_custkey.tbl", "Orders.O_Custkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_orderstatus.tbl", "Orders.O_Orderstatus", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_totalprice.tbl", "Orders.O_Totalprice", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_orderdate.tbl", "Orders.O_Orderdate", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_orderpriority.tbl", "Orders.O_Orderpriority", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_clerk.tbl", "Orders.O_Clerk", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_shippriority.tbl", "Orders.O_Shippriority", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"orders_o_comment.tbl", "Orders.O_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + // + {"lineitem_l_orderkey.tbl", "Lineitem.L_Orderkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_partkey.tbl", "Lineitem.L_Partkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_suppkey.tbl", "Lineitem.L_Suppkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_linenumber.tbl", "Lineitem.L_Linenumber", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_quantity.tbl", "Lineitem.L_Quantity", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_extendedprice.tbl", "Lineitem.L_Extendedprice", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_discount.tbl", "Lineitem.L_Discount", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_tax.tbl", "Lineitem.L_Tax", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_returnflag.tbl", "Lineitem.L_Returnflag", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_linestatus.tbl", "Lineitem.L_Linestatus", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_shipdate.tbl", "Lineitem.L_Shipdate", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_commitdate.tbl", "Lineitem.L_Commitdate", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_receiptdate.tbl", "Lineitem.L_Receiptdate", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_shipinstruct.tbl", "Lineitem.L_Shipinstruct", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_shipmode.tbl", "Lineitem.L_Shipmode", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"lineitem_l_comment.tbl", "Lineitem.L_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + // + {"nation_n_nationkey.tbl", "Nation.N_Nationkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"nation_n_name.tbl", "Nation.N_Name", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"nation_n_regionkey.tbl", "Nation.N_Regionkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"nation_n_comment.tbl", "Nation.N_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + // + {"region_r_regionkey.tbl", "Region.R_Nationkey", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"region_r_name.tbl", "Region.R_Name", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0}, + {"region_r_comment.tbl", "Region.R_Comment", 0, hd_part, + {pr_component_value, ld_part}, NO_LFUNC, vrf_part, NONE, 0} +}; + +int *pids; + + +/* +* routines to handle the graceful cleanup of multi-process loads +*/ + +void +stop_proc (int signum) +{ + exit (0); +} + +void +kill_load (void) +{ + int i; + +#if !defined(U2200) && !defined(DOS) + for (i = 0; i < children; i++) + if (pids[i]) + KILL (pids[i]); +#endif /* !U2200 && !DOS */ + return; +} + +/* +* re-set default output file names +*/ +int +set_files (int i, int pload) +{ + char line[80], *new_name; + + if (table & (1 << i)) +child_table: + { + if (pload != -1) + sprintf (line, "%s.%d", tdefs[i].name, pload); + else + { + printf ("Enter new destination for %s data: ", + tdefs[i].name); + if (fgets (line, sizeof (line), stdin) == NULL) + return (-1);; + if ((new_name = strchr (line, '\n')) != NULL) + *new_name = '\0'; + if (strlen (line) == 0) + return (0); + } + new_name = (char *) malloc (strlen (line) + 1); + MALLOC_CHECK (new_name); + strcpy (new_name, line); + tdefs[i].name = new_name; + if (tdefs[i].child != NONE) + { + i = tdefs[i].child; + tdefs[i].child = NONE; + goto child_table; + } + } + + return (0); +} + + + +/* +* read the distributions needed in the benchamrk +*/ +void +load_dists (void) +{ + read_dist (env_config (DIST_TAG, DIST_DFLT), "p_cntr", &p_cntr_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "colors", &colors); + read_dist (env_config (DIST_TAG, DIST_DFLT), "p_types", &p_types_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "nations", &nations); + read_dist (env_config (DIST_TAG, DIST_DFLT), "regions", ®ions); + read_dist (env_config (DIST_TAG, DIST_DFLT), "o_oprio", + &o_priority_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "instruct", + &l_instruct_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "smode", &l_smode_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "category", + &l_category_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "rflag", &l_rflag_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "msegmnt", &c_mseg_set); + + /* load the distributions that contain text generation */ + read_dist (env_config (DIST_TAG, DIST_DFLT), "nouns", &nouns); + read_dist (env_config (DIST_TAG, DIST_DFLT), "verbs", &verbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adjectives", &adjectives); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adverbs", &adverbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "auxillaries", &auxillaries); + read_dist (env_config (DIST_TAG, DIST_DFLT), "terminators", &terminators); + read_dist (env_config (DIST_TAG, DIST_DFLT), "articles", &articles); + read_dist (env_config (DIST_TAG, DIST_DFLT), "prepositions", &prepositions); + read_dist (env_config (DIST_TAG, DIST_DFLT), "grammar", &grammar); + read_dist (env_config (DIST_TAG, DIST_DFLT), "np", &np); + read_dist (env_config (DIST_TAG, DIST_DFLT), "vp", &vp); + +} + +/* added by olteanu for U-relations */ + +/* + * do some shuffling on the array of placeholders + */ + +void +shuffle_placeholders() +{ + if (placeholders_idx < SWAP_SIZE) + return; + + DSS_HUGE range1, range2, size; + Placeholder *placeholder; + + int iterations = floor(placeholders_idx * SHUFFLE_ITE_RATIO); + int i = 0; + + + fprintf (stderr, "Shuffle %ld placeholders in %ld iterations.\n",placeholders_idx, iterations); + + while (i < iterations) + { + RANDOM(size,3,(long)SWAP_SIZE,WSD_PLACEHOLDERS); + + RANDOM(range1,0,placeholders_idx-size-1,WSD_PLACEHOLDERS); + RANDOM(range2,0,placeholders_idx-size-1,WSD_PLACEHOLDERS); + //fprintf (stderr, "Shuffle %d placeholders from position %ld to position %ld.\n",size, (long)range1, (long)range2); + + int j = 0; + while (j < size) + { + placeholder = placeholder_set[range1+j]; + placeholder_set[range1+j] = placeholder_set[range2+size-j]; + placeholder_set[range2+size-j] = placeholder; + if (placeholder == NULL) + { + fprintf (stderr, "Problem with swapping: %ld in [0,%ld].\n",(long)(range1+j), placeholders_idx); + exit(-1); + } + if (placeholder_set[range1+j] == NULL) + { + fprintf (stderr, "Problem with swapping %ld in [0,%ld].\n",(long)(range2+SWAP_SIZE-j), placeholders_idx); + exit(-1); + } + j++; + } + i++; + } +} + + + +/* + * approximate the number of or-sets and the maximal arity of generated components. + */ +long +approx_zipf_distr(long size, double zipf, int delta) +{ + int ready = 0; + long x = size, sum; + int arity; + double temp; + + while (!ready) + { + sum = x; + temp = x; + arity = 2; + //fprintf(stderr,"Try with %ld..",x); + + while (temp > 2 && sum < size+1) + { + temp = temp*zipf; + sum += (long)floor(temp)*arity; + arity++; + //fprintf(stderr,"(temp %ld,sum %ld)",(long)floor(temp),sum); + } + if (sum > size) + x -= delta; + else ready = 1; + //fprintf(stderr,"\n",x); + } + fprintf(stderr,"Zipf SOLUTION: init size %ld, computed size %ld, or-sets %ld, ratio %g \n",size, sum, x, zipf); + + return x; +} + +/* + * insert a value in the component relation + */ +long +prepare_output(unsigned table, long tid, unsigned attr, void* value, long lworlds, long nvalues, long worlds_used) +{ + if (ONE_WORLD) + { + pr_component_value(table,tid,attr,crt_cid,1,value); + return 1; + } + + long t = (long)lworlds/nvalues; + if (t == 0 && worlds_used < lworlds) + t = 1; + long s = 0; + while (s < t) + { + pr_component_value(table,tid,attr,crt_cid,s+1+worlds_used,value); + s++; + } + worlds_used += t; + return worlds_used; +} + + + +/* + * generate a component relation defining values for all placeholders from columns + */ +void +gen_component_tuplelevel (int arity, long idx) +{ + if (idx+arity > placeholders_size+1) + arity = placeholders_size-idx+1; + + if (arity == 0) + { + fprintf(stderr,"nullary component for cid %d !\n",crt_cid); + return; + } + + DSS_HUGE j,l,p; + + static long x = 0; + long i,k,m,worlds_used; + + long *nvalues = (long*)malloc(arity * sizeof(long)); + double local_worlds = 1.0; + + /* compute the number of different values for each column of the component */ + m = 0; + while (m < arity) + { + if (ONE_WORLD) + nvalues[m] = 1; + else + { + RANDOM(j,2,max_placeholders,WSD_PLACEHOLDERS); + nvalues[m] = (long)j; + local_worlds *= nvalues[m]*LOCAL_WORLDS_RATIO_INIT; + } + m++; + } + if (!ONE_WORLD) + local_worlds /= LOCAL_WORLDS_RATIO_INIT; + + /* compute the number of local worlds for this component */ + + //RANDOM(j,1,(DSS_HUGE)max_worlds/worlds_drop-1,WSD_PLACEHOLDERS); + + long lworlds = (long)ceil(local_worlds+0.5); + stat_total_amount_worlds += log10(lworlds); + + if (lworlds > stat_max_lworlds) + stat_max_lworlds = lworlds; + + stat_avg_lworlds += (lworlds-stat_avg_lworlds)/crt_cid; + + + if (COUNT_ONLY) { + free (nvalues); + for(i=0;itable; + long tid = placeholder_set[idx+i]->tid; + + worlds_used = 0; + + for(k=0;k= 30000) + RANDOM64(l, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + else + RANDOM(l, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + prepare_output(table,tid,2,&l,j,nvalues[i], worlds_used); + + // ORDERSTATUS -- SUBJECT TO CHANGE + prepare_output(table,tid,3, &x,j,nvalues[i], worlds_used); + + // TOTALPRICE + RANDOM(l,1,3000000,WSD_PLACEHOLDERS); + prepare_output(table,tid,4,&l,j,nvalues[i], worlds_used); + + // ORDERDATE + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + strcpy(value, asc_date[l - STARTDATE]); + prepare_output(table,tid,5, value,j,nvalues[i], worlds_used); + free (value); + + // ORDER_PRIORITY + value = (char*)malloc((MAXAGG_LEN + 1)*sizeof(char)); + pick_str(&o_priority_set, O_PRIO_SD, value); + prepare_output(table,tid,6, value,j,nvalues[i], worlds_used); + free (value); + + // CLERK + RANDOM(l, 1, MAX((scale * O_CLRK_SCL), O_CLRK_SCL), O_CLRK_SD); + value = (char*)malloc((O_CLRK_LEN + 1)*sizeof(char)); + sprintf(value, szFormat, O_CLRK_TAG, l); + prepare_output(table,tid,7, value,j,nvalues[i], worlds_used); + free (value); + + // SHIP_PRIORITY + prepare_output(table,tid,8, &x,j,nvalues[i], worlds_used); + + // COMMENT + value = (char*)malloc((O_CMNT_MAX + 1)*sizeof(char)); + TEXT(O_CMNT_LEN, O_CMNT_SD, value); + worlds_used = prepare_output(table,tid,9, value,j,nvalues[i], worlds_used); + free (value); + + break; + + + case LINE: + // ORDERKEY + RANDOM(l,1,(tdefs[ORDER].base * scale - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,1, &l,j,nvalues[i], worlds_used); + + // PARTKEY + RANDOM(l,1,(tdefs[PART].base * scale - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,2, &l,j,nvalues[i], worlds_used); + + // SUPPKEY + RANDOM(l,1,(tdefs[SUPP].base * scale - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,3, &l,j,nvalues[i], worlds_used); + + // LINENUMBER + RANDOM(l, O_LCNT_MIN, O_LCNT_MAX, O_LCNT_SD); + prepare_output(table,tid,4, &l,j,nvalues[i], worlds_used); + + // QUANTITY + RANDOM(l, L_QTY_MIN, L_QTY_MAX, L_QTY_SD); + prepare_output(table,tid,5, &l,j,nvalues[i], worlds_used); + + // EXTENDEDPRICE + RANDOM(l,1,3000000,WSD_PLACEHOLDERS); + prepare_output(table,tid,6, &l,j,nvalues[i], worlds_used); + + // DISCOUNT + RANDOM(l, L_DCNT_MIN, L_DCNT_MAX, L_DCNT_SD); + prepare_output(table,tid,7, &l,j,nvalues[i], worlds_used); + + // TAX + RANDOM(l, L_TAX_MIN, L_TAX_MAX, L_TAX_SD); + prepare_output(table,tid,8, &l,j,nvalues[i], worlds_used); + + // RETURNFLAG + value = (char*)malloc(2*sizeof(char)); + pick_str(&l_rflag_set, L_RFLG_SD, value); + prepare_output(table,tid,9, value,j,nvalues[i], worlds_used); + free (value); + + // LINESTATUS + prepare_output(table,tid,10, &x,j,nvalues[i], worlds_used); + + // SHIPDATE; make it more particular, see build.c + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + strcpy(value, asc_date[l - STARTDATE]); + prepare_output(table,tid,11, value,j,nvalues[i], worlds_used); + free (value); + + // COMMITDATE + //RANDOM(l, L_CDTE_MIN, L_CDTE_MAX, L_CDTE_SD); + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + strcpy(value, asc_date[l - STARTDATE]); + prepare_output(table,tid,12, value,j,nvalues[i], worlds_used); + free (value); + + // RECEIPTDATE + //RANDOM(l, L_RDTE_MIN, L_RDTE_MAX, L_RDTE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + strcpy(value, asc_date[l - STARTDATE]); + prepare_output(table,tid,13, value,j,nvalues[i], worlds_used); + free (value); + + // SHIPINSTRUCT + value = (char*)malloc((MAXAGG_LEN + 1)*sizeof(char)); + pick_str(&l_instruct_set, L_SHIP_SD, value); + prepare_output(table,tid,14, value,j,nvalues[i], worlds_used); + free (value); + + // SHIPMODE + value = (char*)malloc((MAXAGG_LEN + 1)*sizeof(char)); + pick_str(&l_smode_set, L_SMODE_SD, value); + prepare_output(table,tid,15, value,j,nvalues[i], worlds_used); + free (value); + + // COMMENT + value = (char*)malloc((L_CMNT_MAX + 1)*sizeof(char)); + TEXT(L_CMNT_LEN, L_CMNT_SD, value); + worlds_used = prepare_output(table,tid,16, value,j,nvalues[i], worlds_used); + free (value); + + break; + + + case PART: + // PARTKEY + RANDOM(l,1,(tdefs[PART].base * scale - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,1, &l,j,nvalues[i], worlds_used); + + // NAME + value = (char*)malloc((P_NAME_LEN+1)*sizeof(char)); + agg_str(&colors, (long)P_NAME_SCL, (long)P_NAME_SD, value); + prepare_output(table,tid,2, value,j,nvalues[i], worlds_used); + free (value); + + // MFGR + RANDOM(l, P_MFG_MIN, P_MFG_MAX, P_MFG_SD); + value = (char*)malloc((P_MFG_LEN+1)*sizeof(char)); + sprintf(value, szFormat, P_MFG_TAG, l); + prepare_output(table,tid,3, value,j,nvalues[i], worlds_used); + free (value); + + // BRAND + RANDOM(p, P_MFG_MIN, P_MFG_MAX, P_MFG_SD); + RANDOM(l, P_BRND_MIN, P_BRND_MAX, P_BRND_SD); + value = (char*)malloc((P_BRND_LEN+1)*sizeof(char)); + sprintf(value, szBrandFormat, P_BRND_TAG, (p * 10 + l)); + prepare_output(table,tid,4, value,j,nvalues[i], worlds_used); + free (value); + + // TYPE + value = (char*)malloc((P_TYPE_LEN+1)*sizeof(char)); + pick_str(&p_types_set, P_TYPE_SD, value); + prepare_output(table,tid,5, value,j,nvalues[i], worlds_used); + free (value); + + // SIZE + RANDOM(l, P_SIZE_MIN, P_SIZE_MAX, P_SIZE_SD); + prepare_output(table,tid,6, &l,j,nvalues[i], worlds_used); + + // CONTAINER + value = (char*)malloc((P_CNTR_LEN+1)*sizeof(char)); + pick_str(&p_cntr_set, P_CNTR_SD, value); + prepare_output(table,tid,7, value,j,nvalues[i], worlds_used); + free (value); + + // RETAILPRICE + l = rpb_routine(tid); + prepare_output(table,tid,8, &l,j,nvalues[i], worlds_used); + + // COMMENT + value = (char*)malloc((P_CMNT_MAX+1)*sizeof(char)); + TEXT(P_CMNT_LEN, P_CMNT_SD, value); + worlds_used = prepare_output(table,tid,9, value,j,nvalues[i], worlds_used); + free (value); + + break; + + case PSUPP: + // PARTKEY + RANDOM(l,1,(tdefs[PART].base * scale - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,1, &l,j,nvalues[i], worlds_used); + + // SUPPKEY + RANDOM(l,1,(tdefs[SUPP].base * scale - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,2, &l,j,nvalues[i], worlds_used); + + // AVAILQTY + RANDOM(l, PS_QTY_MIN, PS_QTY_MAX, PS_QTY_SD); + prepare_output(table,tid,3, &l,j,nvalues[i], worlds_used); + + // SUPPLYCOST + RANDOM(l, PS_SCST_MIN, PS_SCST_MAX, PS_SCST_SD); + prepare_output(table,tid,4, &l,j,nvalues[i], worlds_used); + + // COMMENT + value = (char*)malloc((PS_CMNT_MAX+1)*sizeof(char)); + TEXT(PS_CMNT_LEN, PS_CMNT_SD, value); + worlds_used = prepare_output(table,tid,5, value,j,nvalues[i], worlds_used); + free (value); + + break; + + case SUPP: + // SUPPKEY + RANDOM(l,1,(tdefs[SUPP].base * scale - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,1, &l,j,nvalues[i], worlds_used); + + // NAME + value = (char*)malloc((S_NAME_LEN+1)*sizeof(char)); + sprintf(value, szFormat, S_NAME_TAG, tid); + prepare_output(table,tid,2, value,j,nvalues[i], worlds_used); + free (value); + + // ADDRESS + value = (char*)malloc((S_ADDR_MAX+1)*sizeof(char)); + V_STR(C_ADDR_LEN, C_ADDR_SD, value); + prepare_output(table,tid,3, value,j,nvalues[i], worlds_used); + free (value); + + // NATIONKEY + RANDOM(l,1,(nations.count - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,4, &l,j,nvalues[i], worlds_used); + + // PHONE + value = (char*)malloc((PHONE_LEN+1)*sizeof(char)); + gen_phone((DSS_HUGE)tid, value, (long)C_PHNE_SD); + prepare_output(table,tid,5, value,j,nvalues[i], worlds_used); + free (value); + + // ACCTBAL + RANDOM(l, C_ABAL_MIN, C_ABAL_MAX, C_ABAL_SD); + prepare_output(table,tid,6, &l,j,nvalues[i], worlds_used); + + // COMMENT + value = (char*)malloc((S_CMNT_MAX+1)*sizeof(char)); + TEXT(S_CMNT_LEN, S_CMNT_SD, value); + worlds_used = prepare_output(table,tid,7, value,j,nvalues[i], worlds_used); + free (value); + + break; + + case NATION: + // NATIONKEY + RANDOM(l,1,(nations.count - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,1, &l,j,nvalues[i], worlds_used); + + // NAME + prepare_output(table,tid,2, nations.list[(long)l - 1].text,j,nvalues[i], worlds_used); + + // REGIONKEY + RANDOM(l,1,(regions.count - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,3, &l,j,nvalues[i], worlds_used); + + // COMMENT + value = (char*)malloc((N_CMNT_MAX+1)*sizeof(char)); + TEXT(N_CMNT_LEN, N_CMNT_SD, value); + worlds_used = prepare_output(table,tid,4, value,j,nvalues[i], worlds_used); + free (value); + + break; + + case REGION: + // REGIONKEY + RANDOM(l,1,(regions.count - 1),WSD_PLACEHOLDERS); + prepare_output(table,tid,1, &l,j,nvalues[i], worlds_used); + + // NAME + prepare_output(table,tid,2,regions.list[(long)l - 1].text,j,nvalues[i], worlds_used); + + // COMMENT + value = (char*)malloc((N_CMNT_MAX+1)*sizeof(char)); + TEXT(R_CMNT_LEN, R_CMNT_SD, value); + worlds_used = prepare_output(table,tid,3, value,j,nvalues[i], worlds_used); + free (value); + + break; + }//end switch + }// end for + + free (placeholder_set[idx+i]); + } + + free ((DSS_HUGE*)nvalues); + nvalues = NULL; +} + + + + + +/* + * generate a component relation defining values for all placeholders from columns + */ +void +gen_component_attrlevel (int arity, long idx) +{ + if (idx+arity > placeholders_size+1) + arity = placeholders_size-idx+1; + + if (arity == 0) + { + fprintf(stderr,"nullary component for cid %d !\n",crt_cid); + return; + } + + DSS_HUGE l,p; + long i,k,worlds_used; + int m; + + static long x = 0; + + long *nvalues = (long*)malloc(arity * sizeof(long)); + double local_worlds = 1.0; + + /* compute the number of different values for each column of the component */ + m = 0; + while (m < arity) + { + if (ONE_WORLD) + nvalues[m] = 1; + else + { + RANDOM(l,2,max_placeholders,WSD_PLACEHOLDERS); + nvalues[m] = (long)l; + local_worlds *= nvalues[m]*LOCAL_WORLDS_RATIO_INIT; + } + //if (arity > 18) + // fprintf(stderr, "add %ld\t",nvalues[m]); + m++; + } + if (!ONE_WORLD) + local_worlds /= LOCAL_WORLDS_RATIO_INIT; + + //if (arity > 18) + // fprintf(stderr, "..finally: %g\n",local_worlds); + + /* compute the number of local worlds for this component */ + + //RANDOM(j,1,max_worlds,WSD_PLACEHOLDERS); + + long lworlds = (long)ceil(local_worlds+0.5); + stat_total_amount_worlds += log10(lworlds); + + if (lworlds > stat_max_lworlds) + stat_max_lworlds = lworlds; + + stat_avg_lworlds += (lworlds-stat_avg_lworlds)/crt_cid; + + if (COUNT_ONLY) { + free (nvalues); + for(i=0;itable; + unsigned attr = placeholder_set[idx+i]->column; + long tid = placeholder_set[idx+i]->tid; + + worlds_used = 0; + + for(k=0;k= 30000) + RANDOM64(l, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + else + RANDOM(l, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + worlds_used = prepare_output(table,tid,attr,&l,lworlds,nvalues[i], worlds_used); + break; + + case 3: // ORDERSTATUS -- SUBJECT TO CHANGE + worlds_used = prepare_output(table,tid,attr, &x, lworlds,nvalues[i], worlds_used); + break; + + case 4: // TOTALPRICE + RANDOM(l,1,3000000,WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr,&l,lworlds,nvalues[i], worlds_used); + break; + + case 5: // ORDERDATE + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + strcpy(value, asc_date[l - STARTDATE]); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 6: // ORDER_PRIORITY + value = (char*)malloc((MAXAGG_LEN + 1)*sizeof(char)); + pick_str(&o_priority_set, O_PRIO_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 7: // CLERK + RANDOM(l, 1, MAX((scale * O_CLRK_SCL), O_CLRK_SCL), O_CLRK_SD); + value = (char*)malloc((O_CLRK_LEN + 1)*sizeof(char)); + sprintf(value, szFormat, O_CLRK_TAG, l); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 8: // SHIP_PRIORITY + worlds_used = prepare_output(table,tid,attr, &x,lworlds,nvalues[i], worlds_used); + break; + + case 9: // COMMENT + value = (char*)malloc((O_CMNT_MAX + 1)*sizeof(char)); + TEXT(O_CMNT_LEN, O_CMNT_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + }// end switch + break; + + + case LINE: + switch(attr) + { + case 1: // ORDERKEY + RANDOM(l,1,(tdefs[ORDER].base * scale - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 2: // PARTKEY + RANDOM(l,1,(tdefs[PART].base * scale - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 3: // SUPPKEY + RANDOM(l,1,(tdefs[SUPP].base * scale - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 4: // LINENUMBER + RANDOM(l, O_LCNT_MIN, O_LCNT_MAX, O_LCNT_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 5: // QUANTITY + RANDOM(l, L_QTY_MIN, L_QTY_MAX, L_QTY_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + case 6: // EXTENDEDPRICE + RANDOM(l,1,3000000,WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 7: // DISCOUNT + RANDOM(l, L_DCNT_MIN, L_DCNT_MAX, L_DCNT_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 8: // TAX + RANDOM(l, L_TAX_MIN, L_TAX_MAX, L_TAX_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 9: // RETURNFLAG + value = (char*)malloc(2*sizeof(char)); + pick_str(&l_rflag_set, L_RFLG_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 10: // LINESTATUS + worlds_used = prepare_output(table,tid,attr, &x,lworlds,nvalues[i], worlds_used); + break; + + case 11: // SHIPDATE; make it more particular, see build.c + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + strcpy(value, asc_date[l - STARTDATE]); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 12: // COMMITDATE + //RANDOM(l, L_CDTE_MIN, L_CDTE_MAX, L_CDTE_SD); + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + strcpy(value, asc_date[l - STARTDATE]); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 13: // RECEIPTDATE + //RANDOM(l, L_RDTE_MIN, L_RDTE_MAX, L_RDTE_SD); + value = (char*)malloc((DATE_LEN)*sizeof(char)); + RANDOM(l, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + strcpy(value, asc_date[l - STARTDATE]); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 14: // SHIPINSTRUCT + value = (char*)malloc((MAXAGG_LEN + 1)*sizeof(char)); + pick_str(&l_instruct_set, L_SHIP_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 15: // SHIPMODE + value = (char*)malloc((MAXAGG_LEN + 1)*sizeof(char)); + pick_str(&l_smode_set, L_SMODE_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 16: // COMMENT + value = (char*)malloc((L_CMNT_MAX + 1)*sizeof(char)); + TEXT(L_CMNT_LEN, L_CMNT_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + }// end switch + break; + + + case PART: + switch(attr) + { + case 1: // PARTKEY + RANDOM(l,1,(tdefs[PART].base * scale - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 2: // NAME + value = (char*)malloc((P_NAME_LEN+1)*sizeof(char)); + agg_str(&colors, (long)P_NAME_SCL, (long)P_NAME_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 3: // MFGR + RANDOM(l, P_MFG_MIN, P_MFG_MAX, P_MFG_SD); + value = (char*)malloc((P_MFG_LEN+1)*sizeof(char)); + sprintf(value, szFormat, P_MFG_TAG, l); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 4: // BRAND + RANDOM(p, P_MFG_MIN, P_MFG_MAX, P_MFG_SD); + RANDOM(l, P_BRND_MIN, P_BRND_MAX, P_BRND_SD); + value = (char*)malloc((P_BRND_LEN+1)*sizeof(char)); + sprintf(value, szBrandFormat, P_BRND_TAG, (p * 10 + l)); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 5: // TYPE + value = (char*)malloc((P_TYPE_LEN+1)*sizeof(char)); + pick_str(&p_types_set, P_TYPE_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 6: // SIZE + RANDOM(l, P_SIZE_MIN, P_SIZE_MAX, P_SIZE_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 7: // CONTAINER + value = (char*)malloc((P_CNTR_LEN+1)*sizeof(char)); + pick_str(&p_cntr_set, P_CNTR_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 8: // RETAILPRICE + l = rpb_routine(tid); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 9: // COMMENT + value = (char*)malloc((P_CMNT_MAX+1)*sizeof(char)); + TEXT(P_CMNT_LEN, P_CMNT_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + }//end switch + break; + + case PSUPP: + switch(attr) + { + case 1: // PARTKEY + RANDOM(l,1,(tdefs[PART].base * scale - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 2: // SUPPKEY + RANDOM(l,1,(tdefs[SUPP].base * scale - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 3: // AVAILQTY + RANDOM(l, PS_QTY_MIN, PS_QTY_MAX, PS_QTY_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 4: // SUPPLYCOST + RANDOM(l, PS_SCST_MIN, PS_SCST_MAX, PS_SCST_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 5: // COMMENT + value = (char*)malloc((PS_CMNT_MAX+1)*sizeof(char)); + TEXT(PS_CMNT_LEN, PS_CMNT_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + }//end switch + break; + + case SUPP: + switch(attr) + { + case 1: // SUPPKEY + RANDOM(l,1,(tdefs[SUPP].base * scale - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 2: // NAME + value = (char*)malloc((S_NAME_LEN+1)*sizeof(char)); + sprintf(value, szFormat, S_NAME_TAG, tid); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 3: // ADDRESS + value = (char*)malloc((S_ADDR_MAX+1)*sizeof(char)); + V_STR(C_ADDR_LEN, C_ADDR_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 4: // NATIONKEY + RANDOM(l,1,(nations.count - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 5: // PHONE + value = (char*)malloc((PHONE_LEN+1)*sizeof(char)); + gen_phone((DSS_HUGE)tid, value, (long)C_PHNE_SD); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + case 6: // ACCTBAL + RANDOM(l, C_ABAL_MIN, C_ABAL_MAX, C_ABAL_SD); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 7: // COMMENT + value = (char*)malloc((S_CMNT_MAX+1)*sizeof(char)); + TEXT(S_CMNT_LEN, S_CMNT_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + }//end switch + + break; + + case NATION: + switch(attr) + { + case 1: // NATIONKEY + RANDOM(l,1,(nations.count - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 2: // NAME + RANDOM(l,1,(nations.count - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, nations.list[(long)l - 1].text,lworlds,nvalues[i], worlds_used); + break; + + case 3: // REGIONKEY + RANDOM(l,1,(regions.count - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 4: // COMMENT + value = (char*)malloc((N_CMNT_MAX+1)*sizeof(char)); + TEXT(N_CMNT_LEN, N_CMNT_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + }//end switch + break; + + case REGION: + switch(attr) + { + case 1: // REGIONKEY + RANDOM(l,1,(regions.count - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, &l,lworlds,nvalues[i], worlds_used); + break; + + case 2: // NAME + RANDOM(l,1,(regions.count - 1),WSD_PLACEHOLDERS); + worlds_used = prepare_output(table,tid,attr, regions.list[(long)l - 1].text,lworlds,nvalues[i], worlds_used); + break; + + case 3: // COMMENT + value = (char*)malloc((R_CMNT_MAX+1)*sizeof(char)); + TEXT(R_CMNT_LEN, R_CMNT_SD, value); + worlds_used = prepare_output(table,tid,attr, value,lworlds,nvalues[i], worlds_used); + free (value); + break; + + }//end switch + break; + }//end switch + }// end for + + free (placeholder_set[idx+i]); + } + + free (nvalues); + nvalues = NULL; +} + + +/* + * generate a component relation defining values for all placeholders from placeholders_list + */ +void +gen_components (void) +{ + DSS_HUGE j; + int i, l, k; + + int arity = 1; + long amount; + + if (!COUNT_ONLY) + shuffle_placeholders(); + + fprintf (stderr, "Generate alternatives for %ld placeholders (allocated %ld).\n",placeholders_idx,placeholders_size); + + placeholders_size = placeholders_idx; + + /* compute the initial number of or-sets */ + amount = approx_zipf_distr(placeholders_size, Zipf_component_ratio,1); + placeholders_idx = 0; + + while (amount > 0) + { + + fprintf (stderr, "Generate %d components [start with cid %ld] with arity %d.\n", amount, crt_cid, arity); + + i = 0; + while (i < amount) + { + //fprintf (stderr, "component (%ld,%d,%ld)..",crt_cid,arity,placeholders_idx); + if (TUPLE_LEVEL) + gen_component_tuplelevel(arity,placeholders_idx); + else + gen_component_attrlevel(arity,placeholders_idx); + //fprintf (stderr, "done.\n"); + + placeholders_idx += arity; + i++; + crt_cid++; + } + + amount = (long)floor((double)amount*Zipf_component_ratio); + arity++; + } + + /* everything that is left is processed here */ + if (placeholders_idx < placeholders_size) + { + fprintf (stderr, "REMAINING HOLES:%ld\n",(placeholders_size-placeholders_idx)); + + while (placeholders_idx < placeholders_size) { + //fprintf (stderr, "component (%ld,%d,%ld)..",crt_cid,1,placeholders_idx); + if (TUPLE_LEVEL) + gen_component_tuplelevel(1,placeholders_idx); + else + gen_component_attrlevel(1,placeholders_idx); + //fprintf (stderr, "done.\n"); + crt_cid++; + placeholders_idx++; + } + } +} + +/* finish addition by olteanu for U-relations */ + +/* +* generate a particular template table with placeholders +*/ +void +gen_template (int tnum, DSS_HUGE start, DSS_HUGE count, long upd_num) +{ + static order_t o; + supplier_t supp; + customer_t cust; + part_t part; + code_t code; + static int completed = 0; + DSS_HUGE i; + + DSS_HUGE rows_per_segment=0; + DSS_HUGE rows_this_segment=-1; + DSS_HUGE residual_rows=0; + + if (insert_segments) + { + rows_per_segment = count / insert_segments; + residual_rows = count - (rows_per_segment * insert_segments); + } + + for (i = start; count; count--, i++) + { + LIFENOISE (1000, i); + row_start(tnum); + + switch (tnum) + { + case LINE: + case ORDER: + case ORDER_LINE: + mk_order (i, &o, upd_num % 10000); + + if (insert_segments && (upd_num > 0)) + if((upd_num / 10000) < residual_rows) + { + if((++rows_this_segment) > rows_per_segment) + { + rows_this_segment=0; + upd_num += 10000; + } + } + else + { + if((++rows_this_segment) >= rows_per_segment) + { + rows_this_segment=0; + upd_num += 10000; + } + } + + if (set_seeds == 0) + if (validate) + tdefs[tnum].verify(&o, 0); + else + tdefs[tnum].loader[direct] (&o, upd_num); + break; + case SUPP: + mk_supp (i, &supp); + if (set_seeds == 0) + if (validate) + tdefs[tnum].verify(&supp, 0); + else + tdefs[tnum].loader[direct] (&supp, upd_num); + break; + case CUST: + mk_cust (i, &cust); + if (set_seeds == 0) + if (validate) + tdefs[tnum].verify(&cust, 0); + else + tdefs[tnum].loader[direct] (&cust, upd_num); + break; + case PSUPP: + case PART: + case PART_PSUPP: + mk_part (i, &part); + if (set_seeds == 0) + if (validate) + tdefs[tnum].verify(&part, 0); + else + tdefs[tnum].loader[direct] (&part, upd_num); + break; + case NATION: + mk_nation (i, &code); + if (set_seeds == 0) + if (validate) + tdefs[tnum].verify(&code, 0); + else + tdefs[tnum].loader[direct] (&code, 0); + break; + case REGION: + mk_region (i, &code); + if (set_seeds == 0) + if (validate) + tdefs[tnum].verify(&code, 0); + else + tdefs[tnum].loader[direct] (&code, 0); + break; + } + row_stop(tnum); + if (set_seeds && (i % tdefs[tnum].base) < 2) + { + printf("\nSeeds for %s at rowcount %ld\n", tdefs[tnum].comment, i); + dump_seeds(tnum); + } + } + completed |= 1 << tnum; +} + + + +void +usage (void) +{ + fprintf (stderr, "%s\n%s\n\t%s\n%s %s\n\n", + "USAGE:", + "dbgen [-{vfFD}] [-O {fhmsv}][-T {pcsoPSOL}]", + "[-s ][-C ][-S ]", + "dbgen [-v] [-O {dfhmr}] [-s ]", + "[-U ] [-r ]"); + fprintf (stderr, "-b -- load distributions for \n"); + fprintf (stderr, "-C -- use processes to generate data\n"); + fprintf (stderr, " [Under DOS, must be used with -S]\n"); + fprintf (stderr, "-D -- do database load in line\n"); + fprintf (stderr, "-d -- split deletes between files\n"); + fprintf (stderr, "-f -- force. Overwrite existing files\n"); + fprintf (stderr, "-F -- generate flat files output\n"); + fprintf (stderr, "-h -- display this message\n"); + fprintf (stderr, "-i -- split inserts between files\n"); + fprintf (stderr, "-n -- inline load into database \n"); + fprintf (stderr, "-O d -- generate SQL syntax for deletes\n"); + fprintf (stderr, "-O f -- over-ride default output file names\n"); + fprintf (stderr, "-O h -- output files with headers\n"); + fprintf (stderr, "-O m -- produce columnar output\n"); + fprintf (stderr, "-O r -- generate key ranges for deletes.\n"); + fprintf (stderr, "-O v -- Verify data set without generating it.\n"); + fprintf (stderr, "-q -- enable QUIET mode\n"); + fprintf (stderr, "-r -- updates refresh (n/100)%% of the\n"); + fprintf (stderr, " data set\n"); + fprintf (stderr, "-s -- set Scale Factor (SF) to \n"); + fprintf (stderr, "-S -- build the th step of the data/update set\n"); + fprintf (stderr, "-T c -- generate cutomers ONLY\n"); + fprintf (stderr, "-T l -- generate nation/region ONLY\n"); + fprintf (stderr, "-T L -- generate lineitem ONLY\n"); + fprintf (stderr, "-T n -- generate nation ONLY\n"); + fprintf (stderr, "-T o -- generate orders/lineitem ONLY\n"); + fprintf (stderr, "-T O -- generate orders ONLY\n"); + fprintf (stderr, "-T p -- generate parts/partsupp ONLY\n"); + fprintf (stderr, "-T P -- generate parts ONLY\n"); + fprintf (stderr, "-T r -- generate region ONLY\n"); + fprintf (stderr, "-T s -- generate suppliers ONLY\n"); + fprintf (stderr, "-T S -- generate partsupp ONLY\n"); + fprintf (stderr, "-U -- generate update sets\n"); + fprintf (stderr, "-v -- enable VERBOSE mode\n"); + fprintf (stderr, + "\nTo generate the SF=1 (1GB), validation database population, use:\n"); + fprintf (stderr, "\tdbgen -vfF -s 1\n"); + fprintf (stderr, "\nTo generate updates for a SF=1 (1GB), use:\n"); + fprintf (stderr, "\tdbgen -v -U 1 -s 1\n"); +} + +/* +* pload() -- handle the parallel loading of tables +*/ +#ifndef DOS +/* +* int partial(int tbl, int s) -- generate the s-th part of the named tables data +*/ +int +partial (int tbl, int s) +{ + DSS_HUGE rowcnt; + DSS_HUGE extra; + + if (verbose > 0) + { + fprintf (stderr, "\tStarting to load stage %d of %d for %s...", + s, children, tdefs[tbl].comment); + } + + if (direct == 0) + set_files (tbl, s); + + rowcnt = set_state(tbl, scale, children, s, &extra); + + if (s == children) + gen_template (tbl, rowcnt * (s - 1) + 1, rowcnt + extra, upd_num); + else + gen_template (tbl, rowcnt * (s - 1) + 1, rowcnt, upd_num); + + if (verbose > 0) + fprintf (stderr, "done.\n"); + + return (0); +} + + +int +pload (int tbl) +{ + int c = 0, i, status; + + if (verbose > 0) + { + fprintf (stderr, "Starting %d children to load %s", + children, tdefs[tbl].comment); + } + for (c = 0; c < children; c++) + { + pids[c] = SPAWN (); + if (pids[c] == -1) + { + perror ("Child loader not created"); + kill_load (); + exit (-1); + } + else if (pids[c] == 0) /* CHILD */ + { + SET_HANDLER (stop_proc); + verbose = 0; + partial (tbl, c+1); + exit (0); + } + else if (verbose > 0) /* PARENT */ + fprintf (stderr, "."); + } + + if (verbose > 0) + fprintf (stderr, "waiting..."); + + c = children; + while (c) + { + i = WAIT (&status, pids[c - 1]); + if (i == -1 && children) + { + if (errno == ECHILD) + fprintf (stderr, "\nCould not wait on pid %d\n", pids[c - 1]); + else if (errno == EINTR) + fprintf (stderr, "\nProcess %d stopped abnormally\n", pids[c - 1]); + else if (errno == EINVAL) + fprintf (stderr, "\nProgram bug\n"); + } + if (! WIFEXITED(status)) { + (void) fprintf(stderr, "\nProcess %d: ", i); + if (WIFSIGNALED(status)) { + (void) fprintf(stderr, "rcvd signal %d\n", + WTERMSIG(status)); + } else if (WIFSTOPPED(status)) { + (void) fprintf(stderr, "stopped, signal %d\n", + WSTOPSIG(status)); + } + + } + c--; + } + + if (verbose > 0) + fprintf (stderr, "done\n"); + return (0); +} +#endif /* !DOS */ + +/* added by olteanu for U-relations */ +/* new parameters to tune the generation of U-relations (see below): x, z, m */ + +void +process_options (int count, char **vector) +{ + int option; + + while ((option = getopt (count, vector, + "b:C:Dd:Ffi:hn:O:P:qr:s:S:T:U:vx:z:m:")) != -1) //modified optstring, see below + switch (option) + { + case 'x': + placeholders_ratio = atof (optarg); + fprintf (stderr, "Ratio of placeholders: %f\n",placeholders_ratio); + break; + case 'z': + Zipf_component_ratio = atof (optarg); + fprintf (stderr, "Ratio of Zipf components: %f\n",Zipf_component_ratio); + break; + case 'm': + max_placeholders = atoi (optarg); + fprintf (stderr, "Maximum number of placeholders: %i\n",max_placeholders); + break; + /* end added */ + + case 'b': /* load distributions from named file */ + d_path = (char *)malloc(strlen(optarg) + 1); + MALLOC_CHECK(d_path); + strcpy(d_path, optarg); + break; + case 'q': /* all prompts disabled */ + verbose = -1; + break; + case 'i': + insert_segments = atoi (optarg); + break; + case 'd': + delete_segments = atoi (optarg); + break; + case 'S': /* generate a particular STEP */ + step = atoi (optarg); + break; + case 'v': /* life noises enabled */ + verbose = 1; + break; + case 'f': /* blind overwrites; Force */ + force = 1; + break; + case 'T': /* generate a specifc table */ + switch (*optarg) + { + case 'c': /* generate customer ONLY */ + table = 1 << CUST; + break; + case 'L': /* generate lineitems ONLY */ + table = 1 << LINE; + break; + case 'l': /* generate code table ONLY */ + table = 1 << NATION; + table |= 1 << REGION; + break; + case 'n': /* generate nation table ONLY */ + table = 1 << NATION; + break; + case 'O': /* generate orders ONLY */ + table = 1 << ORDER; + break; + case 'o': /* generate orders/lineitems ONLY */ + table = 1 << ORDER_LINE; + break; + case 'P': /* generate part ONLY */ + table = 1 << PART; + break; + case 'p': /* generate part/partsupp ONLY */ + table = 1 << PART_PSUPP; + break; + case 'r': /* generate region table ONLY */ + table = 1 << REGION; + break; + case 'S': /* generate partsupp ONLY */ + table = 1 << PSUPP; + break; + case 's': /* generate suppliers ONLY */ + table = 1 << SUPP; + break; + default: + fprintf (stderr, "Unknown table name %s\n", + optarg); + usage (); + exit (1); + } + break; + case 's': /* scale by Percentage of base rowcount */ + case 'P': /* for backward compatibility */ + flt_scale = atof (optarg); + if (flt_scale < MIN_SCALE) + { + int i; + int int_scale; + + scale = 1; + int_scale = (int)(1000 * flt_scale); + for (i = PART; i < REGION; i++) + { + tdefs[i].base = (DSS_HUGE)(int_scale * tdefs[i].base)/1000; + if (tdefs[i].base < 1) + tdefs[i].base = 1; + } + } + else + scale = (long) flt_scale; + if (scale > MAX_SCALE) + { + fprintf (stderr, "%s %5.0f %s\n\t%s\n\n", + "NOTE: Data generation for scale factors >", + MAX_SCALE, + "GB is still in development,", + "and is not yet supported.\n"); + fprintf (stderr, + "Your resulting data set MAY NOT BE COMPLIANT!\n"); + } + break; + case 'O': /* optional actions */ + switch (tolower (*optarg)) + { + case 'd': /* generate SQL for deletes */ + gen_sql = 1; + break; + case 'f': /* over-ride default file names */ + fnames = 1; + break; + case 'h': /* generate headers */ + header = 1; + break; + case 'm': /* generate columnar output */ + columnar = 1; + break; + case 'r': /* generate key ranges for delete */ + gen_rng = 1; + break; + case 's': /* calibrate the RNG usage */ + set_seeds = 1; + break; + case 'v': /* validate the data set */ + validate = 1; + break; + default: + fprintf (stderr, "Unknown option name %s\n", + optarg); + usage (); + exit (1); + } + break; + case 'D': /* direct load of generated data */ + direct = 1; + break; + case 'F': /* generate flat files for later loading */ + direct = 0; + break; + case 'U': /* generate flat files for update stream */ + updates = atoi (optarg); + break; + case 'r': /* set the refresh (update) percentage */ + refresh = atoi (optarg); + break; +#ifndef DOS + case 'C': + children = atoi (optarg); + break; +#endif /* !DOS */ + case 'n': /* set name of database for direct load */ + db_name = (char *) malloc (strlen (optarg) + 1); + MALLOC_CHECK (db_name); + strcpy (db_name, optarg); + break; + default: + printf ("ERROR: option '%c' unknown.\n", + *(vector[optind] + 1)); + case 'h': /* something unexpected */ + fprintf (stderr, + "%s Population Generator (Version %d.%d.%d build %d)\n", + NAME, VERSION, RELEASE, PATCH, BUILD); + fprintf (stderr, "Copyright %s %s\n", TPC, C_DATES); + usage (); + exit (1); + } + +#ifndef DOS + if (children != 1 && step == -1) + { + pids = malloc(children * sizeof(pid_t)); + MALLOC_CHECK(pids) + } +#else + if (children != 1 && step < 0) + { + fprintf(stderr, "ERROR: -C must be accompanied by -S on this platform\n"); + exit(1); + } +#endif /* DOS */ + + return; +} + +/* +* MAIN +* +* assumes the existance of getopt() to clean up the command +* line handling +*/ +int +main (int ac, char **av) +{ + DSS_HUGE i; + + table = (1 << CUST) | + (1 << SUPP) | + (1 << NATION) | + (1 << REGION) | + (1 << PART_PSUPP) | + (1 << ORDER_LINE); + force = 0; + insert_segments=0; + delete_segments=0; + insert_orders_segment=0; + insert_lineitem_segment=0; + delete_segment=0; + + verbose = 0; + columnar = 0; + set_seeds = 0; + header = 0; + direct = 0; + scale = 1; + flt_scale = 1.0; + updates = 0; + refresh = UPD_PCT; + step = -1; + tdefs[ORDER].base *= + ORDERS_PER_CUST; /* have to do this after init */ + tdefs[LINE].base *= + ORDERS_PER_CUST; /* have to do this after init */ + tdefs[ORDER_LINE].base *= + ORDERS_PER_CUST; /* have to do this after init */ + fnames = 0; + db_name = NULL; + gen_sql = 0; + gen_rng = 0; + children = 1; + d_path = NULL; + + + + /* added by olteanu for U-relations */ + + stat_total_amount_worlds = 0; + stat_avg_lworlds = 0; + stat_max_lworlds = 0; + crt_cid = 1; + + if (TUPLE_LEVEL) + fprintf (stderr, "mode: tuple-level\n"); + else + fprintf (stderr, "mode: attribute-level\n"); + + placeholders_ratio = PLACEHOLDERS_RATIO_INIT; + Zipf_component_ratio = ZIPF_COMP_RATIO_INIT; + max_placeholders = MAX_PLACEHOLDERS_INIT; + + tid_line = 1; + tid_partsupp = 1; + + placeholders_idx = 0; + placeholders_size = PLACEHOLDERS_INIT; + placeholder_set = (Placeholder**) calloc(placeholders_size,sizeof(Placeholder*)); + + upper = 10000; + threshold = upper * placeholders_ratio; + + + part_p_partkey = print_prep(PART_p_PARTKEY , 0); + part_p_name = print_prep(PART_p_NAME , 0); + part_p_mfgr = print_prep(PART_p_MFGR , 0); + part_p_brand = print_prep(PART_p_BRAND , 0); + part_p_type = print_prep(PART_p_TYPE , 0); + part_p_size = print_prep(PART_p_SIZE , 0); + part_p_container = print_prep(PART_p_CONTAINER , 0); + part_p_retailprice = print_prep(PART_p_RETAILPRICE , 0); + part_p_comment = print_prep(PART_p_COMMENT , 0); + + supp_s_suppkey = print_prep(SUPP_s_SUPPKEY , 0); + supp_s_name = print_prep(SUPP_s_NAME , 0); + supp_s_address = print_prep(SUPP_s_ADDRESS , 0); + supp_s_nationkey = print_prep(SUPP_s_NATIONKEY , 0); + supp_s_phone = print_prep(SUPP_s_PHONE , 0); + supp_s_acctbal = print_prep(SUPP_s_ACCTBAL , 0); + supp_s_comment = print_prep(SUPP_s_COMMENT , 0); + + psupp_ps_partkey = print_prep(PSUPP_ps_PARTKEY , 0); + psupp_ps_suppkey = print_prep(PSUPP_ps_SUPPKEY , 0); + psupp_ps_availqty = print_prep(PSUPP_ps_AVAILQTY , 0); + psupp_ps_supplycost = print_prep(PSUPP_ps_SUPPLYCOST , 0); + psupp_ps_comment = print_prep(PSUPP_ps_COMMENT , 0); + + cust_c_custkey = print_prep(CUST_c_CUSTKEY , 0); + cust_c_name = print_prep(CUST_c_NAME , 0); + cust_c_address = print_prep(CUST_c_ADDRESS , 0); + cust_c_nationkey = print_prep(CUST_c_NATIONKEY , 0); + cust_c_phone = print_prep(CUST_c_PHONE , 0); + cust_c_acctbal = print_prep(CUST_c_ACCTBAL , 0); + cust_c_mktsegment = print_prep(CUST_c_MKTSEGMENT , 0); + cust_c_comment = print_prep(CUST_c_COMMENT , 0); + + orders_o_orderkey = print_prep(ORDERS_o_ORDERKEY , 0); + orders_o_custkey = print_prep(ORDERS_o_CUSTKEY , 0); + orders_o_orderstatus = print_prep(ORDERS_o_ORDERSTATUS , 0); + orders_o_totalprice = print_prep(ORDERS_o_TOTALPRICE , 0); + orders_o_orderdate = print_prep(ORDERS_o_ORDERDATE , 0); + orders_o_orderpriority = print_prep(ORDERS_o_ORDERPRIORITY , 0); + orders_o_clerk = print_prep(ORDERS_o_CLERK , 0); + orders_o_shippriority = print_prep(ORDERS_o_SHIPPRIORITY , 0); + orders_o_comment = print_prep(ORDERS_o_COMMENT , 0); + + lineitem_l_orderkey = print_prep(LINEITEM_l_ORDERKEY , 0); + lineitem_l_partkey = print_prep(LINEITEM_l_PARTKEY , 0); + lineitem_l_suppkey = print_prep(LINEITEM_l_SUPPKEY , 0); + lineitem_l_linenumber = print_prep(LINEITEM_l_LINENUMBER , 0); + lineitem_l_quantity = print_prep(LINEITEM_l_QUANTITY , 0); + lineitem_l_extendedprice = print_prep(LINEITEM_l_EXTENDEDPRICE , 0); + lineitem_l_discount = print_prep(LINEITEM_l_DISCOUNT , 0); + lineitem_l_tax = print_prep(LINEITEM_l_TAX , 0); + lineitem_l_returnflag = print_prep(LINEITEM_l_RETURNFLAG , 0); + lineitem_l_linestatus = print_prep(LINEITEM_l_LINESTATUS , 0); + lineitem_l_shipdate = print_prep(LINEITEM_l_SHIPDATE , 0); + lineitem_l_commitdate = print_prep(LINEITEM_l_COMMITDATE , 0); + lineitem_l_receiptdate = print_prep(LINEITEM_l_RECEIPTDATE , 0); + lineitem_l_shipinstruct = print_prep(LINEITEM_l_SHIPINSTRUCT , 0); + lineitem_l_shipmode = print_prep(LINEITEM_l_SHIPMODE , 0); + lineitem_l_comment = print_prep(LINEITEM_l_COMMENT , 0); + + nation_n_nationkey = print_prep(NATION_n_NATIONKEY , 0); + nation_n_name = print_prep(NATION_n_NAME , 0); + nation_n_regionkey = print_prep(NATION_n_REGIONKEY , 0); + nation_n_comment = print_prep(NATION_n_COMMENT , 0); + + region_r_regionkey = print_prep(REGION_r_REGIONKEY , 0); + region_r_name = print_prep(REGION_r_NAME , 0); + region_r_comment = print_prep(REGION_r_COMMENT , 0); + + + + /* finished addition by olteanu for U-relations */ + + + +#ifdef NO_SUPPORT + signal (SIGINT, exit); +#endif /* NO_SUPPORT */ + process_options (ac, av); +#if (defined(WIN32)&&!defined(_POSIX_)) + for (i = 0; i < ac; i++) + { + spawn_args[i] = malloc ((strlen (av[i]) + 1) * sizeof (char)); + MALLOC_CHECK (spawn_args[i]); + strcpy (spawn_args[i], av[i]); + } + spawn_args[ac] = NULL; +#endif + + + if (verbose >= 0) + { + fprintf (stderr, + "%s Population Generator (Version %d.%d.%d build %d)\n", + NAME, VERSION, RELEASE, PATCH, BUILD); + fprintf (stderr, "Copyright %s %s\n", TPC, C_DATES); + } + + load_dists (); + + /* have to do this after init */ + tdefs[NATION].base = nations.count; + tdefs[REGION].base = regions.count; + + + + /* + * updates are never parallelized + */ + if (updates) + { + /* + * set RNG to start generating rows beyond SF=scale + */ + set_state (ORDER, scale, children, children + 1, &i); + rowcnt = (int)(tdefs[ORDER_LINE].base / 10000 * scale * refresh); + if (step > 0) + { + /* + * adjust RNG for any prior update generation + */ + for (i=1; i < step; i++) + { + sd_order(0, rowcnt); + sd_line(0, rowcnt); + } + upd_num = step - 1; + } + else + upd_num = 0; + + while (upd_num < updates) + { + if (verbose > 0) + fprintf (stderr, + "Generating update pair #%d for %s [pid: %d]", + upd_num + 1, tdefs[ORDER_LINE].comment, DSS_PROC); + insert_orders_segment=0; + insert_lineitem_segment=0; + delete_segment=0; + minrow = upd_num * rowcnt + 1; + gen_template (ORDER_LINE, minrow, rowcnt, upd_num + 1); + if (verbose > 0) + fprintf (stderr, "done.\n"); + pr_drange (ORDER_LINE, minrow, rowcnt, upd_num + 1); + upd_num++; + } + + exit (0); + } + + /** + ** actual data generation section starts here + **/ +/* + * open database connection or set all the file names, as appropriate + */ + if (direct) + prep_direct ((db_name) ? db_name : DBNAME); + else if (fnames) + for (i = PART; i <= REGION; i++) + { + if (table & (1 << i)) + if (set_files ((int)i, -1)) + { + fprintf (stderr, "Load aborted!\n"); + exit (1); + } + } + +/* + * traverse the tables, invoking the appropriate data generation routine for any to be built + */ + for (i = PART; i <= REGION; i++) + if (table & (1 << i)) + { + if (children > 1 && i < NATION) + if (step >= 0) + { + if (validate) + { + INTERNAL_ERROR("Cannot validate parallel data generation"); + } + else + partial ((int)i, step); + } +#ifdef DOS + else + { + fprintf (stderr, + "Parallel load is not supported on your platform.\n"); + exit (1); + } +#else + else + { + if (validate) + { + INTERNAL_ERROR("Cannot validate parallel data generation"); + } + else + pload ((int)i); + } +#endif /* DOS */ + else + { + minrow = 1; + if (i < NATION) + rowcnt = tdefs[i].base * scale; + else + rowcnt = tdefs[i].base; + if (verbose > 0) + fprintf (stderr, "%s data for %s [pid: %ld]", + (validate)?"Validating":"Generating", tdefs[i].comment, DSS_PROC); + + gen_template ((int)i, minrow, rowcnt, upd_num); + if (verbose > 0) + fprintf (stderr, "done.\n"); + + } + if (validate) + printf("Validation checksum for %s at %d GB: %0x\n", + tdefs[i].name, scale, tdefs[i].vtotal); + } + + if (direct) + close_direct (); + + + /* added by olteanu for U-relations */ + /* now we generate the components */ + gen_components (); + + fprintf(stderr, "10^%g worlds were created.\n",stat_total_amount_worlds); + fprintf(stderr, "%ld components were created.\n",crt_cid-1); + fprintf(stderr, "Maximum %g and avg %g amount of local worlds were created.\n",stat_max_lworlds,stat_avg_lworlds); + + return (0); +} diff --git a/MayBMS-tpch/uncertain-tpch/dss-ours.ddl b/MayBMS-tpch/uncertain-tpch/dss-ours.ddl new file mode 100644 index 0000000..29d3d83 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/dss-ours.ddl @@ -0,0 +1,84 @@ +-- Sccsid: @(#)dss.ddl 2.1.8.1 +CREATE TABLE NATION ( TID INTEGER NOT NULL, + N_NATIONKEY INTEGER, + N_NAME CHAR(25), + N_REGIONKEY INTEGER, + N_COMMENT VARCHAR(152)); + +CREATE TABLE REGION ( TID INTEGER NOT NULL, + R_REGIONKEY INTEGER, + R_NAME CHAR(25), + R_COMMENT VARCHAR(152)); + +CREATE TABLE PART ( TID INTEGER NOT NULL, + P_PARTKEY INTEGER, + P_NAME VARCHAR(55), + P_MFGR CHAR(25), + P_BRAND CHAR(10), + P_TYPE VARCHAR(25), + P_SIZE INTEGER, + P_CONTAINER CHAR(10), + P_RETAILPRICE DECIMAL(15,2), + P_COMMENT VARCHAR(23) ); + +CREATE TABLE SUPPLIER ( TID INTEGER NOT NULL, + S_SUPPKEY INTEGER, + S_NAME CHAR(25), + S_ADDRESS VARCHAR(40), + S_NATIONKEY INTEGER, + S_PHONE CHAR(15), + S_ACCTBAL DECIMAL(15,2), + S_COMMENT VARCHAR(101)); + +CREATE TABLE PARTSUPP ( TID INTEGER NOT NULL, + PS_PARTKEY INTEGER, + PS_SUPPKEY INTEGER, + PS_AVAILQTY INTEGER, + PS_SUPPLYCOST DECIMAL(15,2) , + PS_COMMENT VARCHAR(199) ); + +CREATE TABLE CUSTOMER ( TID INTEGER NOT NULL, + C_CUSTKEY INTEGER, + C_NAME VARCHAR(25), + C_ADDRESS VARCHAR(40), + C_NATIONKEY INTEGER, + C_PHONE CHAR(15), + C_ACCTBAL DECIMAL(15,2) , + C_MKTSEGMENT CHAR(10), + C_COMMENT VARCHAR(117)); + +CREATE TABLE ORDERS ( TID INTEGER NOT NULL, + O_ORDERKEY INTEGER, + O_CUSTKEY INTEGER, + O_ORDERSTATUS CHAR(1), + O_TOTALPRICE DECIMAL(15,2), + O_ORDERDATE DATE, + O_ORDERPRIORITY CHAR(15), + O_CLERK CHAR(15), + O_SHIPPRIORITY INTEGER, + O_COMMENT VARCHAR(79)); + +CREATE TABLE LINEITEM ( TID INTEGER NOT NULL, + L_ORDERKEY INTEGER, + L_PARTKEY INTEGER, + L_SUPPKEY INTEGER, + L_LINENUMBER INTEGER, + L_QUANTITY DECIMAL(15,2), + L_EXTENDEDPRICE DECIMAL(15,2), + L_DISCOUNT DECIMAL(15,2), + L_TAX DECIMAL(15,2), + L_RETURNFLAG CHAR(1), + L_LINESTATUS CHAR(1), + L_SHIPDATE DATE, + L_COMMITDATE DATE, + L_RECEIPTDATE DATE, + L_SHIPINSTRUCT CHAR(25), + L_SHIPMODE CHAR(10), + L_COMMENT VARCHAR(44)); + +CREATE TABLE C ( REL VARCHAR(44) NOT NULL, + TID INTEGER NOT NULL, + COL VARCHAR(44) NOT NULL, + CID INTEGER NOT NULL, + WID INTEGER NOT NULL, + VALUE VARCHAR(199) NOT NULL); diff --git a/MayBMS-tpch/uncertain-tpch/dss.ddl b/MayBMS-tpch/uncertain-tpch/dss.ddl new file mode 100644 index 0000000..453b827 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/dss.ddl @@ -0,0 +1,78 @@ +-- Sccsid: @(#)dss.ddl 2.1.8.1 +CREATE TABLE NATION ( TID INTEGER NOT NULL, + N_NATIONKEY INTEGER NOT NULL, + N_NAME CHAR(25) NOT NULL, + N_REGIONKEY INTEGER NOT NULL, + N_COMMENT VARCHAR(152)); + +CREATE TABLE REGION ( TID INTEGER NOT NULL, + R_REGIONKEY INTEGER NOT NULL, + R_NAME CHAR(25) NOT NULL, + R_COMMENT VARCHAR(152)); + +CREATE TABLE PART ( TID INTEGER NOT NULL, + P_PARTKEY INTEGER NOT NULL, + P_NAME VARCHAR(55) NOT NULL, + P_MFGR CHAR(25) NOT NULL, + P_BRAND CHAR(10) NOT NULL, + P_TYPE VARCHAR(25) NOT NULL, + P_SIZE INTEGER NOT NULL, + P_CONTAINER CHAR(10) NOT NULL, + P_RETAILPRICE DECIMAL(15,2) NOT NULL, + P_COMMENT VARCHAR(23) NOT NULL ); + +CREATE TABLE SUPPLIER ( TID INTEGER NOT NULL, + S_SUPPKEY INTEGER NOT NULL, + S_NAME CHAR(25) NOT NULL, + S_ADDRESS VARCHAR(40) NOT NULL, + S_NATIONKEY INTEGER NOT NULL, + S_PHONE CHAR(15) NOT NULL, + S_ACCTBAL DECIMAL(15,2) NOT NULL, + S_COMMENT VARCHAR(101) NOT NULL); + +CREATE TABLE PARTSUPP ( TID INTEGER NOT NULL, + PS_PARTKEY INTEGER NOT NULL, + PS_SUPPKEY INTEGER NOT NULL, + PS_AVAILQTY INTEGER NOT NULL, + PS_SUPPLYCOST DECIMAL(15,2) NOT NULL, + PS_COMMENT VARCHAR(199) NOT NULL ); + +CREATE TABLE CUSTOMER ( TID INTEGER NOT NULL, + C_CUSTKEY INTEGER NOT NULL, + C_NAME VARCHAR(25) NOT NULL, + C_ADDRESS VARCHAR(40) NOT NULL, + C_NATIONKEY INTEGER NOT NULL, + C_PHONE CHAR(15) NOT NULL, + C_ACCTBAL DECIMAL(15,2) NOT NULL, + C_MKTSEGMENT CHAR(10) NOT NULL, + C_COMMENT VARCHAR(117) NOT NULL); + +CREATE TABLE ORDERS ( TID INTEGER NOT NULL, + O_ORDERKEY INTEGER NOT NULL, + O_CUSTKEY INTEGER NOT NULL, + O_ORDERSTATUS CHAR(1) NOT NULL, + O_TOTALPRICE DECIMAL(15,2) NOT NULL, + O_ORDERDATE DATE NOT NULL, + O_ORDERPRIORITY CHAR(15) NOT NULL, + O_CLERK CHAR(15) NOT NULL, + O_SHIPPRIORITY INTEGER NOT NULL, + O_COMMENT VARCHAR(79) NOT NULL); + +CREATE TABLE LINEITEM ( TID INTEGER NOT NULL, + L_ORDERKEY INTEGER NOT NULL, + L_PARTKEY INTEGER NOT NULL, + L_SUPPKEY INTEGER NOT NULL, + L_LINENUMBER INTEGER NOT NULL, + L_QUANTITY DECIMAL(15,2) NOT NULL, + L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL, + L_DISCOUNT DECIMAL(15,2) NOT NULL, + L_TAX DECIMAL(15,2) NOT NULL, + L_RETURNFLAG CHAR(1) NOT NULL, + L_LINESTATUS CHAR(1) NOT NULL, + L_SHIPDATE DATE NOT NULL, + L_COMMITDATE DATE NOT NULL, + L_RECEIPTDATE DATE NOT NULL, + L_SHIPINSTRUCT CHAR(25) NOT NULL, + L_SHIPMODE CHAR(10) NOT NULL, + L_COMMENT VARCHAR(44) NOT NULL); + diff --git a/MayBMS-tpch/uncertain-tpch/dss.h b/MayBMS-tpch/uncertain-tpch/dss.h new file mode 100644 index 0000000..bf474c6 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/dss.h @@ -0,0 +1,806 @@ +/* +* $Id: dss.h,v 1.13 2007/03/21 04:05:15 olteanu Exp $ +* +* Revision History +* =================== +* $Log: dss.h,v $ +* Revision 1.13 2007/03/21 04:05:15 olteanu +* *** empty log message *** +* +* Revision 1.12 2007/03/21 01:42:57 olteanu +* *** empty log message *** +* +* Revision 1.11 2007/03/19 21:07:58 olteanu +* *** empty log message *** +* +* Revision 1.10 2007/03/18 13:04:49 olteanu +* *** empty log message *** +* +* Revision 1.9 2007/03/16 22:40:17 olteanu +* *** empty log message *** +* +* Revision 1.8 2007/03/16 21:30:50 olteanu +* *** empty log message *** +* +* Revision 1.7 2007/03/15 18:49:36 olteanu +* *** empty log message *** +* +* Revision 1.6 2007/03/15 13:35:25 olteanu +* *** empty log message *** +* +* Revision 1.5 2007/03/15 12:31:50 olteanu +* *** empty log message *** +* +* Revision 1.4 2007/03/14 21:03:01 olteanu +* *** empty log message *** +* +* Revision 1.3 2007/03/14 20:19:06 olteanu +* *** empty log message *** +* +* Revision 1.2 2007/03/14 17:57:11 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.2 2007/03/11 16:16:40 jansen +* -m max_placeholders +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.9 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.8 2006/03/09 18:55:29 jms +* remove vestigial cvs merge marker +* +* Revision 1.7 2005/10/28 03:05:05 jms +* up maximum scale to 100TB +* +* Revision 1.6 2005/10/28 02:55:26 jms +* add release.h changes +* +* Revision 1.5 2005/10/27 18:13:03 jms +* a_rnd() prototype correction +* +* Revision 1.4 2005/10/25 17:58:59 jms +* update version stamp +* +* Revision 1.3 2005/03/04 19:48:39 jms +* Changes from Doug Johnson to address very large scale factors +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.5 2004/04/08 17:34:15 jms +* cleanup SOLARIS/SUN ifdefs; now all use SUN +* +* Revision 1.4 2004/04/07 20:17:29 jms +* bug #58 (join fails between order/lineitem) +* +* Revision 1.3 2004/03/16 14:37:53 jms +* update version and copyright date; correct comment typo +* +* Revision 1.2 2004/02/18 14:07:20 jms +* change to version 2.1.0 +* +* Revision 1.1.1.1 2003/08/08 21:50:33 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ + /* + * general definitions and control information for the DSS code + * generator; if it controls the data set, it's here + */ +#ifndef DSS_H +#define DSS_H +#ifdef TPCH +#define NAME "TPC-H" +#endif +#ifdef TPCR +#define NAME "TPC-R" +#endif +#ifndef NAME +#error Benchmark version must be defined in config.h +#endif +#define TPC "Transaction Processing Performance Council" +#define C_DATES "1994 - 2005" + +#include "config.h" +#include "shared.h" + +#include +#include + +#define NONE -1 +#define PART 0 +#define PSUPP 1 +#define SUPP 2 +#define CUST 3 +#define ORDER 4 +#define LINE 5 +#define ORDER_LINE 6 +#define PART_PSUPP 7 +#define NATION 8 +#define REGION 9 +#define UPDATE 10 +#define MAX_TABLE 11 +#define ONE_STREAM 1 +#define ADD_AT_END 2 + + + +#define PART_p_PARTKEY 10 +#define PART_p_NAME 11 +#define PART_p_MFGR 12 +#define PART_p_BRAND 13 +#define PART_p_TYPE 14 +#define PART_p_SIZE 15 +#define PART_p_CONTAINER 16 +#define PART_p_RETAILPRICE 17 +#define PART_p_COMMENT 18 + +#define SUPP_s_SUPPKEY 19 +#define SUPP_s_NAME 20 +#define SUPP_s_ADDRESS 21 +#define SUPP_s_NATIONKEY 22 +#define SUPP_s_PHONE 23 +#define SUPP_s_ACCTBAL 24 +#define SUPP_s_COMMENT 25 + +#define PSUPP_ps_PARTKEY 26 +#define PSUPP_ps_SUPPKEY 27 +#define PSUPP_ps_AVAILQTY 28 +#define PSUPP_ps_SUPPLYCOST 29 +#define PSUPP_ps_COMMENT 30 + +#define CUST_c_CUSTKEY 31 +#define CUST_c_NAME 32 +#define CUST_c_ADDRESS 33 +#define CUST_c_NATIONKEY 34 +#define CUST_c_PHONE 35 +#define CUST_c_ACCTBAL 36 +#define CUST_c_MKTSEGMENT 37 +#define CUST_c_COMMENT 38 + +#define ORDERS_o_ORDERKEY 39 +#define ORDERS_o_CUSTKEY 40 +#define ORDERS_o_ORDERSTATUS 41 +#define ORDERS_o_TOTALPRICE 42 +#define ORDERS_o_ORDERDATE 43 +#define ORDERS_o_ORDERPRIORITY 44 +#define ORDERS_o_CLERK 45 +#define ORDERS_o_SHIPPRIORITY 46 +#define ORDERS_o_COMMENT 47 + +#define LINEITEM_l_ORDERKEY 48 +#define LINEITEM_l_PARTKEY 49 +#define LINEITEM_l_SUPPKEY 50 +#define LINEITEM_l_LINENUMBER 51 +#define LINEITEM_l_QUANTITY 52 +#define LINEITEM_l_EXTENDEDPRICE 53 +#define LINEITEM_l_DISCOUNT 54 +#define LINEITEM_l_TAX 55 +#define LINEITEM_l_RETURNFLAG 56 +#define LINEITEM_l_LINESTATUS 57 +#define LINEITEM_l_SHIPDATE 58 +#define LINEITEM_l_COMMITDATE 59 +#define LINEITEM_l_RECEIPTDATE 60 +#define LINEITEM_l_SHIPINSTRUCT 61 +#define LINEITEM_l_SHIPMODE 62 +#define LINEITEM_l_COMMENT 63 + +#define NATION_n_NATIONKEY 64 +#define NATION_n_NAME 65 +#define NATION_n_REGIONKEY 66 +#define NATION_n_COMMENT 67 + +#define REGION_r_REGIONKEY 68 +#define REGION_r_NAME 69 +#define REGION_r_COMMENT 70 + + + + + +#ifdef MAX +#undef MAX +#endif +#ifdef MIN +#undef MIN +#endif +#define MAX(a,b) ((a > b )?a:b) +#define MIN(A,B) ( (A) < (B) ? (A) : (B)) + +#define INTERNAL_ERROR(p) {fprintf(stderr,"%s", p);abort();} +#define LN_CNT 4 +static char lnoise[4] = {'|', '/', '-', '\\' }; +#define LIFENOISE(n, var) \ + if (verbose > 0) fprintf(stderr, "%c\b", lnoise[(var%LN_CNT)]) + +#define MALLOC_CHECK(var) \ + if ((var) == NULL) \ + { \ + fprintf(stderr, "Malloc failed at %s:%d\n", \ + __FILE__, __LINE__); \ + exit(1);\ + } +#define OPEN_CHECK(var, path) \ + if ((var) == NULL) \ + { \ + fprintf(stderr, "Open failed for %s at %s:%d\n", \ + path, __FILE__, __LINE__); \ + exit(1);\ + } +#ifndef MAX_CHILDREN +#define MAX_CHILDREN 1000 +#endif + +/* + * macros that control sparse keys + * + * refer to Porting.Notes for a complete explanation + */ +#ifndef BITS_PER_LONG +#define BITS_PER_LONG 32 +#define MAX_LONG 0x7FFFFFFF +#endif /* BITS_PER_LONG */ +#define SPARSE_BITS 2 +#define SPARSE_KEEP 3 +#define MK_SPARSE(key, seq) \ + (((((key>>3)<<2)|(seq & 0x0003))<<3)|(key & 0x0007)) + +#define RANDOM(tgt, lower, upper, stream) dss_random(&tgt, lower, upper, stream) +#define RANDOM64(tgt, lower, upper, stream) dss_random64(&tgt, lower, upper, stream) + + +struct _Placeholder +{ + unsigned table; + long tid; + unsigned column; +}; + +typedef struct _Placeholder Placeholder; + +typedef struct +{ + long weight; + char *text; +} set_member; + +typedef struct +{ + int count; + int max; + set_member *list; + long *permute; +} distribution; +/* + * some handy access functions + */ +#define DIST_SIZE(d) d->count +#define DIST_MEMBER(d, i) ((set_member *)((d)->list + i))->text + +typedef struct +{ + char *name; + char *comment; + DSS_HUGE base; + int (*header) (); + int (*loader[2]) (); + long (*gen_seed)(); + int (*verify) (); + int child; + DSS_HUGE vtotal; +} tdef; + +typedef struct SEED_T { + long table; + DSS_HUGE value; + DSS_HUGE usage; + DSS_HUGE boundary; +#ifdef RNG_TEST + DSS_HUGE nCalls; +#endif + } seed_t; + + +#if defined(__STDC__) +#define PROTO(s) s +#else +#define PROTO(s) () +#endif + +/* bm_utils.c */ +char *env_config PROTO((char *var, char *dflt)); +long yes_no PROTO((char *prompt)); +void a_rnd PROTO((int min, int max, int column, char *dest)); +int tx_rnd PROTO((long min, long max, long column, char *tgt)); +long julian PROTO((long date)); +long unjulian PROTO((long date)); +FILE *tbl_open PROTO((int tbl, char *mode)); +long dssncasecmp PROTO((char *s1, char *s2, int n)); +long dsscasecmp PROTO((char *s1, char *s2)); +int pick_str PROTO((distribution * s, int c, char *target)); +void agg_str PROTO((distribution *set, long count, long col, char *dest)); +void read_dist PROTO((char *path, char *name, distribution * target)); +void embed_str PROTO((distribution *d, int min, int max, int stream, char *dest)); +#ifndef STDLIB_HAS_GETOPT +int getopt PROTO((int arg_cnt, char **arg_vect, char *oprions)); +#endif /* STDLIB_HAS_GETOPT */ +DSS_HUGE set_state PROTO((int t, long scale, long procs, long step, DSS_HUGE *e)); + +/* rnd.c */ +DSS_HUGE NextRand PROTO((DSS_HUGE nSeed)); +DSS_HUGE UnifInt PROTO((DSS_HUGE nLow, DSS_HUGE nHigh, long nStream)); +void dss_random(DSS_HUGE *tgt, DSS_HUGE min, DSS_HUGE max, long seed); +void row_start(int t); +void row_stop(int t); +void dump_seeds(int t); + +/* text.c */ +#define MAX_GRAMMAR_LEN 12 /* max length of grammar component */ +#define MAX_SENT_LEN 256 /* max length of populated sentence */ +#define RNG_PER_SENT 27 /* max number of RNG calls per sentence */ + +void dbg_text PROTO((char * t, int min, int max, int s)); + +#ifdef DECLARER +#define EXTERN +#else +#define EXTERN extern +#endif /* DECLARER */ + + +EXTERN distribution nations; +EXTERN distribution nations2; +EXTERN distribution regions; +EXTERN distribution o_priority_set; +EXTERN distribution l_instruct_set; +EXTERN distribution l_smode_set; +EXTERN distribution l_category_set; +EXTERN distribution l_rflag_set; +EXTERN distribution c_mseg_set; +EXTERN distribution colors; +EXTERN distribution p_types_set; +EXTERN distribution p_cntr_set; + +/* distributions that control text generation */ +EXTERN distribution articles; +EXTERN distribution nouns; +EXTERN distribution adjectives; +EXTERN distribution adverbs; +EXTERN distribution prepositions; +EXTERN distribution verbs; +EXTERN distribution terminators; +EXTERN distribution auxillaries; +EXTERN distribution np; +EXTERN distribution vp; +EXTERN distribution grammar; + + +EXTERN long scale; +EXTERN int refresh; +EXTERN int resume; +EXTERN long verbose; +EXTERN long force; +EXTERN long header; +EXTERN long columnar; +EXTERN long direct; +EXTERN long updates; +EXTERN long table; +EXTERN long children; +EXTERN long fnames; +EXTERN int gen_sql; +EXTERN int gen_rng; +EXTERN char *db_name; +EXTERN int step; +EXTERN int set_seeds; +EXTERN int validate; +EXTERN char *d_path; + +/* added for segmented updates */ +EXTERN int insert_segments; +EXTERN int delete_segments; +EXTERN int insert_orders_segment; +EXTERN int insert_lineitem_segment; +EXTERN int delete_segment; + +/* added by olteanu for U-relations */ +EXTERN double placeholders_ratio; /* in (0,1) */ +EXTERN double Zipf_component_ratio; /* in (0,1) */ +EXTERN int max_placeholders; /* default: 8 */ + +EXTERN DSS_HUGE tid_line; +EXTERN DSS_HUGE tid_partsupp; +EXTERN Placeholder** placeholder_set; +EXTERN long placeholders_size; +EXTERN long placeholders_idx; + +EXTERN long crt_cid; + +EXTERN double stat_max_lworlds; +EXTERN double stat_avg_lworlds; +EXTERN double stat_total_amount_worlds; + +EXTERN long upper; +EXTERN long threshold; + + +EXTERN FILE *part_p_partkey; +EXTERN FILE *part_p_name; +EXTERN FILE *part_p_mfgr; +EXTERN FILE *part_p_brand; +EXTERN FILE *part_p_type; +EXTERN FILE *part_p_size; +EXTERN FILE *part_p_container; +EXTERN FILE *part_p_retailprice; +EXTERN FILE *part_p_comment; + +EXTERN FILE *supp_s_suppkey; +EXTERN FILE *supp_s_name; +EXTERN FILE *supp_s_address; +EXTERN FILE *supp_s_nationkey; +EXTERN FILE *supp_s_phone; +EXTERN FILE *supp_s_acctbal; +EXTERN FILE *supp_s_comment; + +EXTERN FILE *psupp_ps_partkey; +EXTERN FILE *psupp_ps_suppkey; +EXTERN FILE *psupp_ps_availqty; +EXTERN FILE *psupp_ps_supplycost; +EXTERN FILE *psupp_ps_comment; + +EXTERN FILE *cust_c_custkey; +EXTERN FILE *cust_c_name; +EXTERN FILE *cust_c_address; +EXTERN FILE *cust_c_nationkey; +EXTERN FILE *cust_c_phone; +EXTERN FILE *cust_c_acctbal; +EXTERN FILE *cust_c_mktsegment; +EXTERN FILE *cust_c_comment; + +EXTERN FILE *orders_o_orderkey; +EXTERN FILE *orders_o_custkey; +EXTERN FILE *orders_o_orderstatus; +EXTERN FILE *orders_o_totalprice; +EXTERN FILE *orders_o_orderdate; +EXTERN FILE *orders_o_orderpriority; +EXTERN FILE *orders_o_clerk; +EXTERN FILE *orders_o_shippriority; +EXTERN FILE *orders_o_comment; + +EXTERN FILE *lineitem_l_orderkey; +EXTERN FILE *lineitem_l_partkey; +EXTERN FILE *lineitem_l_suppkey; +EXTERN FILE *lineitem_l_linenumber; +EXTERN FILE *lineitem_l_quantity; +EXTERN FILE *lineitem_l_extendedprice; +EXTERN FILE *lineitem_l_discount; +EXTERN FILE *lineitem_l_tax; +EXTERN FILE *lineitem_l_returnflag; +EXTERN FILE *lineitem_l_linestatus; +EXTERN FILE *lineitem_l_shipdate; +EXTERN FILE *lineitem_l_commitdate; +EXTERN FILE *lineitem_l_receiptdate; +EXTERN FILE *lineitem_l_shipinstruct; +EXTERN FILE *lineitem_l_shipmode; +EXTERN FILE *lineitem_l_comment; + +EXTERN FILE *nation_n_nationkey; +EXTERN FILE *nation_n_name; +EXTERN FILE *nation_n_regionkey; +EXTERN FILE *nation_n_comment; + +EXTERN FILE *region_r_regionkey; +EXTERN FILE *region_r_name; +EXTERN FILE *region_r_comment; + + + +/* finished addition by olteanu for U-relations */ + + +#ifndef DECLARER +extern tdef tdefs[]; + +#endif /* DECLARER */ + + +/* + * defines global constants for WSD generation + */ + + +#define PLACEHOLDERS_INIT 1000000 +#define PLACEHOLDERS_LIMIT 10000000 +#define SWAP_SIZE 2239 +#define SHUFFLE_ITE_RATIO 1 + +#define LOCAL_WORLDS_RATIO_INIT 0.25 +#define PLACEHOLDERS_RATIO_INIT 0.01 +#define ZIPF_COMP_RATIO_INIT 0.1 +#define MAX_PLACEHOLDERS_INIT 8 + +#define ONE_WORLD 0 +#define TUPLE_LEVEL 0 +#define COUNT_ONLY 0 + + + +/***************************************************************** + ** table level defines use the following naming convention: t_ccc_xxx + ** with: t, a table identifier + ** ccc, a column identifier + ** xxx, a limit type + **************************************************************** + */ + +/* + * defines which control the parts table + */ +#define P_SIZE 126 +#define P_NAME_SCL 5 +#define P_MFG_TAG "Manufacturer#" +#define P_MFG_FMT "%%s%%0%d%s" +#define P_MFG_MIN 1 +#define P_MFG_MAX 5 +#define P_BRND_TAG "Brand#" +#define P_BRND_FMT "%%s%%0%d%s" +#define P_BRND_MIN 1 +#define P_BRND_MAX 5 +#define P_SIZE_MIN 1 +#define P_SIZE_MAX 50 +#define P_MCST_MIN 100 +#define P_MCST_MAX 99900 +#define P_MCST_SCL 100.0 +#define P_RCST_MIN 90000 +#define P_RCST_MAX 200000 +#define P_RCST_SCL 100.0 +/* + * defines which control the suppliers table + */ +#define S_SIZE 145 +#define S_NAME_TAG "Supplier#" +#define S_NAME_FMT "%%s%%0%d%s" +#define S_ABAL_MIN -99999 +#define S_ABAL_MAX 999999 +#define S_CMNT_MAX 101 +#define S_CMNT_BBB 10 /* number of BBB comments/SF */ +#define BBB_DEADBEATS 50 /* % that are complaints */ +#define BBB_BASE "Customer " +#define BBB_COMPLAIN "Complaints" +#define BBB_COMMEND "Recommends" +#define BBB_CMNT_LEN 19 +#define BBB_BASE_LEN 9 +#define BBB_TYPE_LEN 10 + +/* + * defines which control the partsupp table + */ +#define PS_SIZE 145 +#define PS_SKEY_MIN 0 +#define PS_SKEY_MAX ((tdefs[SUPP].base - 1) * scale) +#define PS_SCST_MIN 100 +#define PS_SCST_MAX 100000 +#define PS_QTY_MIN 1 +#define PS_QTY_MAX 9999 +/* + * defines which control the customers table + */ +#define C_SIZE 165 +#define C_NAME_TAG "Customer#" +#define C_NAME_FMT "%%s%%0%d%s" +#define C_MSEG_MAX 5 +#define C_ABAL_MIN -99999 +#define C_ABAL_MAX 999999 +/* + * defines which control the order table + */ +#define O_SIZE 109 +#define O_CKEY_MIN 1 +#define O_CKEY_MAX (tdefs[CUST].base * scale) +#define O_ODATE_MIN STARTDATE +#define O_ODATE_MAX (STARTDATE + TOTDATE - \ + (L_SDTE_MAX + L_RDTE_MAX) - 1) +#define O_CLRK_TAG "Clerk#" +#define O_CLRK_FMT "%%s%%0%d%s" +#define O_CLRK_SCL 1000 +#define O_LCNT_MIN 1 +#define O_LCNT_MAX 7 + +/* + * defines which control the lineitem table + */ +#define L_SIZE 144L +#define L_QTY_MIN 1 +#define L_QTY_MAX 50 +#define L_TAX_MIN 0 +#define L_TAX_MAX 8 +#define L_DCNT_MIN 0 +#define L_DCNT_MAX 10 +#define L_PKEY_MIN 1 +#define L_PKEY_MAX (tdefs[PART].base * scale) +#define L_SDTE_MIN 1 +#define L_SDTE_MAX 121 +#define L_CDTE_MIN 30 +#define L_CDTE_MAX 90 +#define L_RDTE_MIN 1 +#define L_RDTE_MAX 30 +/* + * defines which control the time table + */ +#define T_SIZE 30 +#define T_START_DAY 3 /* wednesday ? */ +#define LEAP(y) ((!(y % 4) && (y % 100))?1:0) + +/******************************************************************* + ******************************************************************* + *** + *** general or inter table defines + *** + ******************************************************************* + *******************************************************************/ +#define SUPP_PER_PART 4 +#define ORDERS_PER_CUST 10 /* sync this with CUST_MORTALITY */ +#define CUST_MORTALITY 3 /* portion with have no orders */ +#define NATIONS_MAX 90 /* limited by country codes in phone numbers */ +#define PHONE_FMT "%02d-%03d-%03d-%04d" +#define STARTDATE 92001 +#define CURRENTDATE 95168 +#define ENDDATE 98365 +#define TOTDATE 2557 +#define UPD_PCT 10 +#define MAX_STREAM 56 /* increased by olteanu; 47 previously */ +#define V_STR_LOW 0.4 +#define PENNIES 100 /* for scaled int money arithmetic */ +#define Q11_FRACTION (double)0.0001 +/* + * max and min SF in GB; Larger SF will require changes to the build routines + */ +#define MIN_SCALE 1.0 +#define MAX_SCALE 100000.0 +/* + * beyond this point we need to allow for BCD calculations + */ +#define MAX_32B_SCALE 1000.0 +#define LONG2HUGE(src, dst) *dst = (DSS_HUGE)src +#define HUGE2LONG(src, dst) *dst = (long)src +#define HUGE_SET(src, dst) *dst = *src +#define HUGE_MUL(op1, op2) *op1 *= op2 +#define HUGE_DIV(op1, op2) *op1 /= op2 +#define HUGE_ADD(op1, op2, dst) *dst = *op1 + op2 +#define HUGE_SUB(op1, op2, dst) *dst = *op1 - op2 +#define HUGE_MOD(op1, op2) *op1 % op2 +#define HUGE_CMP(op1, op2) (*op1 == *op2)?0:(*op1 < *op2)-1:1 + + +/******** environmental variables and defaults ***************/ +#define DIST_TAG "DSS_DIST" /* environment var to override ... */ +#define DIST_DFLT "dists.dss" /* default file to hold distributions */ +#define PATH_TAG "DSS_PATH" /* environment var to override ... */ +#define PATH_DFLT "." /* default directory to hold tables */ +#define CONFIG_TAG "DSS_CONFIG" /* environment var to override ... */ +#define CONFIG_DFLT "." /* default directory to config files */ +#define ADHOC_TAG "DSS_ADHOC" /* environment var to override ... */ +#define ADHOC_DFLT "adhoc.dss" /* default file name for adhoc vars */ + +/******* output macros ********/ +#ifndef SEPARATOR +#define SEPARATOR '|' /* field spearator for generated flat files */ +#endif +/* Data type flags for a single print routine */ +#define DT_STR 0 +#ifndef MVS +#define DT_VSTR DT_STR +#else +#define DT_VSTR 1 +#endif /* MVS */ +#define DT_INT 2 +#define DT_HUGE 3 +#define DT_KEY 4 +#define DT_MONEY 5 +#define DT_CHR 6 + +int dbg_print(int dt, FILE *tgt, void *data, int len, int eol); +#define PR_STR(f, str, len) dbg_print(DT_STR, f, (void *)str, len, 1) +#define PR_VSTR(f, str, len) dbg_print(DT_VSTR, f, (void *)str, len, 1) +#define PR_VSTR_LAST(f, str, len) dbg_print(DT_VSTR, f, (void *)str, len, 0) +#define PR_INT(f, str) dbg_print(DT_INT, f, (void *)str, 0, 1) +#define PR_HUGE(f, str) dbg_print(DT_HUGE, f, (void *)str, 0, 1) +#define PR_KEY(f, str) dbg_print(DT_KEY, f, (void *)str, 0, -1) +#define PR_MONEY(f, str) dbg_print(DT_MONEY, f, (void *)str, 0, 1) +#define PR_CHR(f, str) dbg_print(DT_CHR, f, (void *)str, 0, 1) +#define PR_STRT(fp) /* any line prep for a record goes here */ +#define PR_END(fp) fprintf(fp, "\n") /* finish the record here */ +#ifdef MDY_DATE +#define PR_DATE(tgt, yr, mn, dy) \ + sprintf(tgt, "%02d-%02d-19%02d", mn, dy, yr) +#else +#define PR_DATE(tgt, yr, mn, dy) \ +sprintf(tgt, "19%02d-%02d-%02d", yr, mn, dy) +#endif /* DATE_FORMAT */ + +/* + * verification macros + */ +#define VRF_STR(t, d) {char *xx = d; while (*xx) tdefs[t].vtotal += *xx++;} +#define VRF_INT(t,d) tdefs[t].vtotal += d +#define VRF_HUGE(t,d) tdefs[t].vtotal = *((long *)&d) + *((long *)(&d + 1)) +/* assume float is a 64 bit quantity */ +#define VRF_MONEY(t,d) tdefs[t].vtotal = *((long *)&d) + *((long *)(&d + 1)) +#define VRF_CHR(t,d) tdefs[t].vtotal += d +#define VRF_STRT(t) +#define VRF_END(t) + +/*********** distribuitons currently defined *************/ +#define UNIFORM 0 + +/* + * seed indexes; used to separate the generation of individual columns + */ +#define P_MFG_SD 0 +#define P_BRND_SD 1 +#define P_TYPE_SD 2 +#define P_SIZE_SD 3 +#define P_CNTR_SD 4 +#define P_RCST_SD 5 +#define PS_QTY_SD 7 +#define PS_SCST_SD 8 +#define O_SUPP_SD 10 +#define O_CLRK_SD 11 +#define O_ODATE_SD 13 +#define L_QTY_SD 14 +#define L_DCNT_SD 15 +#define L_TAX_SD 16 +#define L_SHIP_SD 17 +#define L_SMODE_SD 18 +#define L_PKEY_SD 19 +#define L_SKEY_SD 20 +#define L_SDTE_SD 21 +#define L_CDTE_SD 22 +#define L_RDTE_SD 23 +#define L_RFLG_SD 24 +#define C_NTRG_SD 27 +#define C_PHNE_SD 28 +#define C_ABAL_SD 29 +#define C_MSEG_SD 30 +#define S_NTRG_SD 33 +#define S_PHNE_SD 34 +#define S_ABAL_SD 35 +#define P_NAME_SD 37 +#define O_PRIO_SD 38 +#define HVAR_SD 39 +#define O_CKEY_SD 40 +#define N_CMNT_SD 41 +#define R_CMNT_SD 42 +#define O_LCNT_SD 43 +#define BBB_JNK_SD 44 +#define BBB_TYPE_SD 45 +#define BBB_CMNT_SD 46 +#define BBB_OFFSET_SD 47 +#define WSD_PLACEHOLDERS 48 +#define SUPP_PLACEHOLDERS 49 +#define PART_PLACEHOLDERS 50 +#define ORDERS_PLACEHOLDERS 51 +#define LINE_PLACEHOLDERS 52 +#define NATION_PLACEHOLDERS 53 +#define REGION_PLACEHOLDERS 54 +#define CUST_PLACEHOLDERS 55 +#define PSUPP_PLACEHOLDERS 56 +#endif /* DSS_H */ diff --git a/MayBMS-tpch/uncertain-tpch/dss.ri b/MayBMS-tpch/uncertain-tpch/dss.ri new file mode 100644 index 0000000..fb4c002 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/dss.ri @@ -0,0 +1,100 @@ +-- Sccsid: @(#)dss.ri 2.1.8.1 +-- TPCD Benchmark Version 8.0 + +CONNECT TO TPCD; + +--ALTER TABLE TPCD.REGION DROP PRIMARY KEY; +--ALTER TABLE TPCD.NATION DROP PRIMARY KEY; +--ALTER TABLE TPCD.PART DROP PRIMARY KEY; +--ALTER TABLE TPCD.SUPPLIER DROP PRIMARY KEY; +--ALTER TABLE TPCD.PARTSUPP DROP PRIMARY KEY; +--ALTER TABLE TPCD.ORDERS DROP PRIMARY KEY; +--ALTER TABLE TPCD.LINEITEM DROP PRIMARY KEY; +--ALTER TABLE TPCD.CUSTOMER DROP PRIMARY KEY; + + +-- For table REGION +ALTER TABLE TPCD.REGION +ADD PRIMARY KEY (R_REGIONKEY); + +-- For table NATION +ALTER TABLE TPCD.NATION +ADD PRIMARY KEY (N_NATIONKEY); + +ALTER TABLE TPCD.NATION +ADD FOREIGN KEY NATION_FK1 (N_REGIONKEY) references TPCD.REGION; + +COMMIT WORK; + +-- For table PART +ALTER TABLE TPCD.PART +ADD PRIMARY KEY (P_PARTKEY); + +COMMIT WORK; + +-- For table SUPPLIER +ALTER TABLE TPCD.SUPPLIER +ADD PRIMARY KEY (S_SUPPKEY); + +ALTER TABLE TPCD.SUPPLIER +ADD FOREIGN KEY SUPPLIER_FK1 (S_NATIONKEY) references TPCD.NATION; + +COMMIT WORK; + +-- For table PARTSUPP +ALTER TABLE TPCD.PARTSUPP +ADD PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY); + +COMMIT WORK; + +-- For table CUSTOMER +ALTER TABLE TPCD.CUSTOMER +ADD PRIMARY KEY (C_CUSTKEY); + +ALTER TABLE TPCD.CUSTOMER +ADD FOREIGN KEY CUSTOMER_FK1 (C_NATIONKEY) references TPCD.NATION; + +COMMIT WORK; + +-- For table LINEITEM +ALTER TABLE TPCD.LINEITEM +ADD PRIMARY KEY (L_ORDERKEY,L_LINENUMBER); + +COMMIT WORK; + +-- For table ORDERS +ALTER TABLE TPCD.ORDERS +ADD PRIMARY KEY (O_ORDERKEY); + +COMMIT WORK; + +-- For table PARTSUPP +ALTER TABLE TPCD.PARTSUPP +ADD FOREIGN KEY PARTSUPP_FK1 (PS_SUPPKEY) references TPCD.SUPPLIER; + +COMMIT WORK; + +ALTER TABLE TPCD.PARTSUPP +ADD FOREIGN KEY PARTSUPP_FK2 (PS_PARTKEY) references TPCD.PART; + +COMMIT WORK; + +-- For table ORDERS +ALTER TABLE TPCD.ORDERS +ADD FOREIGN KEY ORDERS_FK1 (O_CUSTKEY) references TPCD.CUSTOMER; + +COMMIT WORK; + +-- For table LINEITEM +ALTER TABLE TPCD.LINEITEM +ADD FOREIGN KEY LINEITEM_FK1 (L_ORDERKEY) references TPCD.ORDERS; + +COMMIT WORK; + +ALTER TABLE TPCD.LINEITEM +ADD FOREIGN KEY LINEITEM_FK2 (L_PARTKEY,L_SUPPKEY) references + TPCD.PARTSUPP; + +COMMIT WORK; + + diff --git a/MayBMS-tpch/uncertain-tpch/dsstypes.h b/MayBMS-tpch/uncertain-tpch/dsstypes.h new file mode 100644 index 0000000..196cefd --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/dsstypes.h @@ -0,0 +1,191 @@ +/* +* $Id: dsstypes.h,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: dsstypes.h,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.2 2007/03/04 18:41:02 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.3 2005/10/28 02:57:04 jms +* allow for larger names in customer table +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.3 2004/04/07 20:17:29 jms +* bug #58 (join fails between order/lineitem) +* +* Revision 1.2 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ + /* + * general definitions and control information for the DSS data types + * and function prototypes + */ + +/* + * typedefs + */ +typedef struct +{ + DSS_HUGE custkey; + char name[C_NAME_LEN + 3]; + char address[C_ADDR_MAX + 1]; + int alen; + DSS_HUGE nation_code; + char phone[PHONE_LEN + 1]; + DSS_HUGE acctbal; + char mktsegment[MAXAGG_LEN + 1]; + char comment[C_CMNT_MAX + 1]; + int clen; +} customer_t; +/* customers.c */ +long mk_cust PROTO((DSS_HUGE n_cust, customer_t * c)); +int pr_cust PROTO((customer_t * c, int mode)); +int ld_cust PROTO((customer_t * c, int mode)); + +typedef struct +{ + DSS_HUGE okey; + DSS_HUGE partkey; + DSS_HUGE suppkey; + DSS_HUGE lcnt; + DSS_HUGE quantity; + DSS_HUGE eprice; + DSS_HUGE discount; + DSS_HUGE tax; + char rflag[1]; + char lstatus[1]; + char cdate[DATE_LEN]; + char sdate[DATE_LEN]; + char rdate[DATE_LEN]; + char shipinstruct[MAXAGG_LEN + 1]; + char shipmode[MAXAGG_LEN + 1]; + char comment[L_CMNT_MAX + 1]; + int clen; +} line_t; + +typedef struct +{ + DSS_HUGE okey; + DSS_HUGE custkey; + char orderstatus; + DSS_HUGE totalprice; + char odate[DATE_LEN]; + char opriority[MAXAGG_LEN + 1]; + char clerk[O_CLRK_LEN + 1]; + long spriority; + DSS_HUGE lines; + char comment[O_CMNT_MAX + 1]; + int clen; + line_t l[O_LCNT_MAX]; +} order_t; + +/* order.c */ +long mk_order PROTO((DSS_HUGE index, order_t * o, long upd_num)); +int pr_order PROTO((order_t * o, int mode)); +int ld_order PROTO((order_t * o, int mode)); +void mk_sparse PROTO((DSS_HUGE index, DSS_HUGE *ok, long seq)); + +typedef struct +{ + DSS_HUGE partkey; + DSS_HUGE suppkey; + DSS_HUGE qty; + DSS_HUGE scost; + char comment[PS_CMNT_MAX + 1]; + int clen; +} partsupp_t; + +typedef struct +{ + DSS_HUGE partkey; + char name[P_NAME_LEN + 1]; + int nlen; + char mfgr[P_MFG_LEN + 1]; + char brand[P_BRND_LEN + 1]; + char type[P_TYPE_LEN + 1]; + int tlen; + DSS_HUGE size; + char container[P_CNTR_LEN + 1]; + DSS_HUGE retailprice; + char comment[P_CMNT_MAX + 1]; + int clen; + partsupp_t s[SUPP_PER_PART]; +} part_t; + +/* parts.c */ +long mk_part PROTO((DSS_HUGE index, part_t * p)); +int pr_part PROTO((part_t * part, int mode)); +int ld_part PROTO((part_t * part, int mode)); + +typedef struct +{ + DSS_HUGE suppkey; + char name[S_NAME_LEN + 1]; + char address[S_ADDR_MAX + 1]; + int alen; + DSS_HUGE nation_code; + char phone[PHONE_LEN + 1]; + DSS_HUGE acctbal; + char comment[S_CMNT_MAX + 1]; + int clen; +} supplier_t; +/* supplier.c */ +long mk_supp PROTO((DSS_HUGE index, supplier_t * s)); +int pr_supp PROTO((supplier_t * supp, int mode)); +int ld_supp PROTO((supplier_t * supp, int mode)); + +typedef struct +{ + DSS_HUGE timekey; + char alpha[DATE_LEN]; + long year; + long month; + long week; + long day; +} dss_time_t; + +/* time.c */ +long mk_time PROTO((DSS_HUGE h, dss_time_t * t)); + +/* + * this assumes that N_CMNT_LEN >= R_CMNT_LEN + */ +typedef struct +{ + DSS_HUGE code; + char *text; + long join; + char comment[N_CMNT_MAX + 1]; + int clen; +} code_t; + +/* code table */ +int mk_nation PROTO((DSS_HUGE i, code_t * c)); +int pr_nation PROTO((code_t * c, int mode)); +int ld_nation PROTO((code_t * c, int mode)); +int mk_region PROTO((DSS_HUGE i, code_t * c)); +int pr_region PROTO((code_t * c, int mode)); +int ld_region PROTO((code_t * c, int mode)); diff --git a/MayBMS-tpch/uncertain-tpch/load_stub.c b/MayBMS-tpch/uncertain-tpch/load_stub.c new file mode 100644 index 0000000..9e6608c --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/load_stub.c @@ -0,0 +1,287 @@ +/* +* $Id: load_stub.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: load_stub.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/***************************************************************** + * Title: load_stub.c + * Description: + * stub routines for: + * inline load of dss benchmark + * header creation for dss benchmark + * + ***************************************************************** + */ + +#include +#include "config.h" +#include "dss.h" +#include "dsstypes.h" + +int +close_direct(void) +{ + /* any post load cleanup goes here */ + return(0); +} + +int +prep_direct(void) +{ + /* any preload prep goes here */ + return(0); +} + +int +hd_cust (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the customer table\n"); + + return(0); +} + +int +ld_cust (customer_t *cp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the customer table"); + + return(0); +} + +int +hd_part (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the part table\n"); + + return(0); +} + +int +ld_part (part_t *pp, int mode) +{ + static int count = 0; + + if (! count++) + printf("No load routine has been defined for the part table\n"); + + return(0); +} + +int +ld_psupp (part_t *pp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined for the", + "psupp table\n"); + + return(0); + +} + + +int +hd_supp (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the supplier table\n"); + + return(0); +} + +int +ld_supp (supplier_t *sp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the supplier table\n"); + + return(0); +} + + +int +hd_order (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the order table\n"); + + return(0); +} + +int +ld_order (order_t *p, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the order table"); + + return(0); +} + +ld_line (order_t *p, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the line table"); + + return(0); +} + + + +int +hd_psupp (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No header has been defined for the", + "part supplier table"); + + return(0); +} + + +int +hd_line (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the lineitem table\n"); + + return(0); +} + +int +hd_nation (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the nation table\n"); + + return(0); +} + +int +ld_nation (code_t *cp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the nation table"); + + return(0); +} + +int +hd_region (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the region table\n"); + + return(0); +} + +int +ld_region (code_t *cp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the region table"); + + return(0); +} + +int +ld_order_line (order_t *p, int mode) +{ + ld_order(p, mode); + ld_line (p, mode); + + return(0); +} + +int +hd_order_line (FILE *f) +{ + hd_order(f); + hd_line (f); + + return(0); +} + +int +ld_part_psupp (part_t *p, int mode) +{ + ld_part(p, mode); + ld_psupp (p, mode); + + return(0); +} + +int +hd_part_psupp (FILE *f) +{ + hd_part(f); + hd_psupp(f); + + return(0); +} diff --git a/MayBMS-tpch/uncertain-tpch/makefile.suite b/MayBMS-tpch/uncertain-tpch/makefile.suite new file mode 100644 index 0000000..8143b43 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/makefile.suite @@ -0,0 +1,177 @@ +# +# $Id: makefile.suite,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +# +# Revision History +# =================== +# $Log: makefile.suite,v $ +# Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +# +# +# Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +# +# +# Revision 1.16 2007/01/05 20:05:41 jms +# update release number +# +# Revision 1.15 2006/09/07 17:25:57 jms +# correct dss.ddl +# +# Revision 1.14 2006/08/01 17:21:22 jms +# fix bad merge +# +# Revision 1.13 2006/08/01 16:55:44 jms +# move to 2.4.1 +# +# Revision 1.12 2006/06/29 20:46:17 jms +# 2.4.0 changes from Meikel +# +# Revision 1.10 2006/05/25 22:30:44 jms +# qgen porting for 32b/64b +# +# Revision 1.9 2006/04/26 23:17:09 jms +# checking release.h prior to release build +# +# Revision 1.8 2006/04/26 23:03:00 jms +# release 2.3.4-1 +# +# Revision 1.7 2006/04/12 18:13:58 jms +# release 2.3.3 +# +# Revision 1.6 2006/03/09 18:59:19 jms +# move to version 2.3.2 +# +# Revision 1.5 2006/01/28 23:54:32 jms +# add reference data to release +# +# Revision 1.4 2005/10/28 03:00:32 jms +# fix release target +# +# Revision 1.3 2005/10/28 02:54:14 jms +# increment build count with each release creation +# +# Revision 1.2 2005/01/03 20:08:58 jms +# change line terminations +# +# Revision 1.1.1.1 2004/11/24 23:31:47 jms +# re-establish external server +# +# Revision 1.5 2004/03/26 20:39:23 jms +# add tpch tag to release files +# +# Revision 1.4 2004/03/16 14:45:57 jms +# correct release target in makefile +# +# Revision 1.3 2004/03/02 20:49:01 jms +# simplify distributions, add Windows IDE files +# releases should use make release from now on +# +# Revision 1.2 2004/02/18 14:05:53 jms +# porting changes for LINUX and 64 bit RNG +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# recreation after CVS crash +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# initial checkin +# +# +# +################ +## CHANGE NAME OF ANSI COMPILER HERE +################ +CC = /usr/bin/gcc +# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata) +# SQLSERVER, SYBASE +# Current values for MACHINE are: ATT, DOS, HP, IBM, ICL, MVS, +# SGI, SUN, U2200, VMS, LINUX, WIN32 +# Current values for WORKLOAD are: TPCH +DATABASE= DB2 +MACHINE = LINUX +WORKLOAD = TPCH +# +# add -EDTERABYTE if orderkey will execeed 32 bits (SF >= 300) +# and make the appropriate change in gen_schema() of runit.sh +CFLAGS = -O -DDBNAME=\"dss\" -D$(MACHINE) -D$(DATABASE) -D$(WORKLOAD) +LDFLAGS = -g +# The OBJ,EXE and LIB macros will need to be changed for compilation under +# Windows NT +OBJ = .o +EXE = +LIBS = -lm +# +# NO CHANGES SHOULD BE NECESSARY BELOW THIS LINE +############### +VERSION=2 +RELEASE=6 +PATCH=0 +BUILD=`grep BUILD release.h | cut -f3 -d' '` +NEW_BUILD=`expr ${BUILD} + 1` +TREE_ROOT=/tmp/tree +# +PROG1 = dbgen$(EXE) +PROG2 = qgen$(EXE) +PROGS = $(PROG1) $(PROG2) +# +HDR1 = dss.h rnd.h config.h dsstypes.h shared.h bcd2.h rng64.h release.h +HDR2 = tpcd.h permute.h +HDR = $(HDR1) $(HDR2) +# +SRC1 = build.c driver.c bm_utils.c rnd.c print.c load_stub.c bcd2.c \ + speed_seed.c text.c permute.c rng64.c +SRC2 = qgen.c varsub.c +SRC = $(SRC1) $(SRC2) +# +OBJ1 = build$(OBJ) driver$(OBJ) bm_utils$(OBJ) rnd$(OBJ) print$(OBJ) \ + load_stub$(OBJ) bcd2$(OBJ) speed_seed$(OBJ) text$(OBJ) permute$(OBJ) \ + rng64$(OBJ) +OBJ2 = build$(OBJ) bm_utils$(OBJ) qgen$(OBJ) rnd$(OBJ) varsub$(OBJ) \ + text$(OBJ) bcd2$(OBJ) permute$(OBJ) speed_seed$(OBJ) rng64$(OBJ) +OBJS = $(OBJ1) $(OBJ2) +# +SETS = dists.dss +DOC=README HISTORY PORTING.NOTES BUGS +DDL = dss.ddl dss.ri +WINDOWS_IDE = tpch.dsw dbgen.dsp +OTHER=makefile.suite $(SETS) $(DDL) $(WINDOWS_IDE) +# case is *important* in TEST_RES +TEST_RES = O.res L.res c.res s.res P.res S.res n.res r.res +# +DBGENSRC=$(SRC1) $(HDR1) $(OTHER) $(DOC) $(SRC2) $(HDR2) $(SRC3) +FQD=queries/1.sql queries/2.sql queries/3.sql queries/4.sql queries/5.sql queries/6.sql queries/7.sql \ + queries/8.sql queries/9.sql queries/10.sql queries/11.sql queries/12.sql queries/13.sql \ + queries/14.sql queries/15.sql queries/16.sql queries/17.sql queries/18.sql queries/19.sql queries/20.sql \ + queries/21.sql queries/22.sql +VARIANTS= variants/8a.sql variants/12a.sql variants/13a.sql variants/14a.sql variants/15a.sql +ANS = answers/1.ans answers/2.ans answers/3.ans answers/4.ans answers/5.ans answers/6.ans answers/7.ans answers/8.ans \ + answers/9.ans answers/10.ans answers/11.ans answers/12.ans answers/13.ans answers/14.ans answers/15.ans \ + answers/16.ans answers/17.ans answers/18.ans answers/19.ans answers/20.ans answers/21.ans answers/22.ans +QSRC = $(FQD) $(VARIANTS) $(ANS) +TREE_DOC=tree.readme tree.changes appendix.readme appendix.version answers.readme queries.readme variants.readme +REFERENCE=reference/* +ALLSRC=$(DBGENSRC) $(QSRC) $(REFERENCE) update_release.sh +JUNK = +# +all: update_release $(PROGS) +$(PROG1): $(OBJ1) $(SETS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ1) $(LIBS) +$(PROG2): permute.h $(OBJ2) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ2) $(LIBS) +clean: + rm -f $(PROGS) $(OBJS) $(JUNK) +lint: + lint $(CFLAGS) -u -x -wO -Ma -p $(SRC1) + lint $(CFLAGS) -u -x -wO -Ma -p $(SRC2) + +tar: $(ALLSRC) + tar cvzhf tpch_`date '+%Y%m%d'`.tar.gz $(ALLSRC) +zip: $(ALLSRC) + zip tpch_`date '+%Y%m%d'`.zip $(ALLSRC) +release: update_release + make -f makefile.suite tar + make -f makefile.suite zip + ( cd tests; sh test_list.sh `date '+%Y%m%d'` ) +rnd$(OBJ): rnd.h +$(OBJ1): $(HDR1) +$(OBJ2): dss.h tpcd.h config.h rng64.h release.h +update_release: + update_release.sh ${VERSION} ${RELEASE} ${PATCH} diff --git a/MayBMS-tpch/uncertain-tpch/permute.c b/MayBMS-tpch/uncertain-tpch/permute.c new file mode 100644 index 0000000..7ba2c16 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/permute.c @@ -0,0 +1,208 @@ +/* +* $Id: permute.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: permute.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.3 2007/01/04 21:29:21 jms +* Porting changes uncovered as part of move to VS2005. No impact on data set +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* +* permute.c -- a permutation generator for the query +* sequences in TPC-H and TPC-R +*/ + +#ifdef TEST +#define DECLARER +#endif +#include "config.h" +#include "dss.h" +#ifdef TEST +#include +#if (defined(_POSIX_)||!defined(WIN32)) /* Change for Windows NT */ +#include +#include +#endif /* WIN32 */ +#include /* */ +#include +#include +#include +#include +#include +#include +#ifdef HP +#include +#endif +#if (defined(WIN32)&&!defined(_POSIX_)) +#include +#pragma warning(disable:4201) +#pragma warning(disable:4214) +#pragma warning(disable:4514) +#define WIN32_LEAN_AND_MEAN +#define NOATOM +#define NOGDICAPMASKS +#define NOMETAFILE +#define NOMINMAX +#define NOMSG +#define NOOPENFILE +#define NORASTEROPS +#define NOSCROLL +#define NOSOUND +#define NOSYSMETRICS +#define NOTEXTMETRIC +#define NOWH +#define NOCOMM +#define NOKANJI +#define NOMCX +#include +#pragma warning(default:4201) +#pragma warning(default:4214) +#endif +#endif + +DSS_HUGE NextRand(DSS_HUGE seed); +long *permute(long *set, int cnt, long stream); +long *permute_dist(distribution *d, long stream); +long seed; +char *eol[2] = {" ", "},"}; +extern seed_t Seed[]; +#ifdef TEST +tdef tdefs = { NULL }; +#endif + + +#define MAX_QUERY 22 +#define ITERATIONS 1000 +#define UNSET 0 + +long * +permute(long *a, int c, long s) + { + int i; + static DSS_HUGE source; + static long *set, temp; + + if (a != (long *)NULL) + { + set = a; + for (i=0; i < c; i++) + *(a + i) = i; + for (i=0; i < c; i++) + { + RANDOM(source, 0L, (long)(c - 1), s); + temp = *(a + source); + *(a + source) = *(a + i) ; + *(a + i) = temp; + source = 0; + } + } + else + source += 1; + + if (source >= c) + source -= c; + + return(set + source); + } + +long * +permute_dist(distribution *d, long stream) + { + static distribution *dist = NULL; + int i; + + if (d != NULL) + { + if (d->permute == (long *)NULL) + { + d->permute = (long *)malloc(sizeof(long) * DIST_SIZE(d)); + MALLOC_CHECK(d->permute); + for (i=0; i < DIST_SIZE(d); i++) + *(d->permute + i) = i; + } + dist = d; + return(permute(dist->permute, DIST_SIZE(dist), stream)); + } + + + if (dist != NULL) + return(permute(NULL, DIST_SIZE(dist), stream)); + else + INTERNAL_ERROR("Bad call to permute_dist"); + + return(NULL); + } + + +#ifdef TEST + +main(int ac, char *av[]) + { + long *sequence, + i, + j, + streams = UNSET, + *a; + char sep; + int index = 0; + + set_seeds = 0; + sequence = (long *)malloc(MAX_QUERY * sizeof(long)); + a = sequence; + for (i=0; i < MAX_QUERY; i++) + *(sequence + i) = i; + if (ac < 3) + goto usage; + Seed[0].value = (long)atoi(av[1]); + streams = atoi(av[2]); + if (Seed[0].value == UNSET || streams == UNSET) + goto usage; + + index = 0; + printf("long permutation[%d][%d] = {\n", streams, MAX_QUERY); + for (j=0; j < streams; j++) + { + sep = '{'; + printf("%s\n", eol[index]); + for (i=0; i < MAX_QUERY; i++) + { + printf("%c%2d", sep, *permute(a, MAX_QUERY, 0) + 1); + a = (long *)NULL; + sep = ','; + } + a = sequence; + index=1; + } + printf("}\n};\n"); + return(0); + +usage: + printf("Usage: %s \n",av[0]); + printf(" uses to start the generation of permutations of [1..%d]\n", MAX_QUERY); + return(-1); + + } +#endif /* TEST */ diff --git a/MayBMS-tpch/uncertain-tpch/permute.h b/MayBMS-tpch/uncertain-tpch/permute.h new file mode 100644 index 0000000..97749b6 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/permute.h @@ -0,0 +1,70 @@ +/* +* $Id: permute.h,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: permute.h,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +long permutation[41][22] = +{ + {14, 2, 9,20, 6,17,18, 8,21,13, 3,22,16, 4,11,15, 1,10,19, 5, 7,12}, + {21, 3,18, 5,11, 7, 6,20,17,12,16,15,13,10, 2, 8,14,19, 9,22, 1, 4}, + { 6,17,14,16,19,10, 9, 2,15, 8, 5,22,12, 7,13,18, 1, 4,20, 3,11,21}, + { 8, 5, 4, 6,17, 7, 1,18,22,14, 9,10,15,11,20, 2,21,19,13,16,12, 3}, + { 5,21,14,19,15,17,12, 6, 4, 9, 8,16,11, 2,10,18, 1,13, 7,22, 3,20}, + {21,15, 4, 6, 7,16,19,18,14,22,11,13, 3, 1, 2, 5, 8,20,12,17,10, 9}, + {10, 3,15,13, 6, 8, 9, 7, 4,11,22,18,12, 1, 5,16, 2,14,19,20,17,21}, + {18, 8,20,21, 2, 4,22,17, 1,11, 9,19, 3,13, 5, 7,10,16, 6,14,15,12}, + {19, 1,15,17, 5, 8, 9,12,14, 7, 4, 3,20,16, 6,22,10,13, 2,21,18,11}, + { 8,13, 2,20,17, 3, 6,21,18,11,19,10,15, 4,22, 1, 7,12, 9,14, 5,16}, + { 6,15,18,17,12, 1, 7, 2,22,13,21,10,14, 9, 3,16,20,19,11, 4, 8, 5}, + {15,14,18,17,10,20,16,11, 1, 8, 4,22, 5,12, 3, 9,21, 2,13, 6,19, 7}, + { 1, 7,16,17,18,22,12, 6, 8, 9,11, 4, 2, 5,20,21,13,10,19, 3,14,15}, + {21,17, 7, 3, 1,10,12,22, 9,16, 6,11, 2, 4, 5,14, 8,20,13,18,15,19}, + { 2, 9, 5, 4,18, 1,20,15,16,17, 7,21,13,14,19, 8,22,11,10, 3,12, 6}, + {16, 9,17, 8,14,11,10,12, 6,21, 7, 3,15, 5,22,20, 1,13,19, 2, 4,18}, + { 1, 3, 6, 5, 2,16,14,22,17,20, 4, 9,10,11,15, 8,12,19,18,13, 7,21}, + { 3,16, 5,11,21, 9, 2,15,10,18,17, 7, 8,19,14,13, 1, 4,22,20, 6,12}, + {14, 4,13, 5,21,11, 8, 6, 3,17, 2,20, 1,19,10, 9,12,18,15, 7,22,16}, + { 4,12,22,14, 5,15,16, 2, 8,10,17, 9,21, 7, 3, 6,13,18,11,20,19, 1}, + {16,15,14,13, 4,22,18,19, 7, 1,12,17, 5,10,20, 3, 9,21,11, 2, 6, 8}, + {20,14,21,12,15,17, 4,19,13,10,11, 1,16, 5,18, 7, 8,22, 9, 6, 3, 2}, + {16,14,13, 2,21,10,11, 4, 1,22,18,12,19, 5, 7, 8, 6, 3,15,20, 9,17}, + {18,15, 9,14,12, 2, 8,11,22,21,16, 1, 6,17, 5,10,19, 4,20,13, 3, 7}, + { 7, 3,10,14,13,21,18, 6,20, 4, 9, 8,22,15, 2, 1, 5,12,19,17,11,16}, + {18, 1,13, 7,16,10,14, 2,19, 5,21,11,22,15, 8,17,20, 3, 4,12, 6, 9}, + {13, 2,22, 5,11,21,20,14, 7,10, 4, 9,19,18, 6, 3, 1, 8,15,12,17,16}, + {14,17,21, 8, 2, 9, 6, 4, 5,13,22, 7,15, 3, 1,18,16,11,10,12,20,19}, + {10,22, 1,12,13,18,21,20, 2,14,16, 7,15, 3, 4,17, 5,19, 6, 8, 9,11}, + {10, 8, 9,18,12, 6, 1, 5,20,11,17,22,16, 3,13, 2,15,21,14,19, 7, 4}, + { 7,17,22, 5, 3,10,13,18, 9, 1,14,15,21,19,16,12, 8, 6,11,20, 4, 2}, + { 2, 9,21, 3, 4, 7, 1,11,16, 5,20,19,18, 8,17,13,10,12,15, 6,14,22}, + {15,12, 8, 4,22,13,16,17,18, 3, 7, 5, 6, 1, 9,11,21,10,14,20,19, 2}, + {15,16, 2,11,17, 7, 5,14,20, 4,21, 3,10, 9,12, 8,13, 6,18,19,22, 1}, + { 1,13,11, 3, 4,21, 6,14,15,22,18, 9, 7, 5,10,20,12,16,17, 8,19, 2}, + {14,17,22,20, 8,16, 5,10, 1,13, 2,21,12, 9, 4,18, 3, 7, 6,19,15,11}, + { 9,17, 7, 4, 5,13,21,18,11, 3,22, 1, 6,16,20,14,15,10, 8, 2,12,19}, + {13,14, 5,22,19,11, 9, 6,18,15, 8,10, 7, 4,17,16, 3, 1,12, 2,21,20}, + {20, 5, 4,14,11, 1, 6,16, 8,22, 7, 3, 2,12,21,19,17,13,10,15,18, 9}, + { 3, 7,14,15, 6, 5,21,20,18,10, 4,16,19, 1,13, 9, 8,17,11,12,22, 2}, + {13,15,17, 1,22,11, 3, 4, 7,20,14,21, 9, 8, 2,18,16, 6,10,12, 5,19} +}; diff --git a/MayBMS-tpch/uncertain-tpch/print.c b/MayBMS-tpch/uncertain-tpch/print.c new file mode 100644 index 0000000..901ab63 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/print.c @@ -0,0 +1,2108 @@ +/* +* $Id: print.c,v 1.16 2007/03/21 04:05:15 olteanu Exp $ +* +* Revision History +* =================== +* $Log: print.c,v $ +* Revision 1.16 2007/03/21 04:05:15 olteanu +* *** empty log message *** +* +* Revision 1.15 2007/03/21 01:42:57 olteanu +* *** empty log message *** +* +* Revision 1.14 2007/03/19 21:25:20 olteanu +* *** empty log message *** +* +* Revision 1.13 2007/03/19 21:08:53 olteanu +* *** empty log message *** +* +* Revision 1.12 2007/03/19 01:55:52 lublena +* *** empty log message *** +* +* Revision 1.11 2007/03/19 01:53:37 lublena +* *** empty log message *** +* +* Revision 1.10 2007/03/19 01:03:31 olteanu +* *** empty log message *** +* +* Revision 1.9 2007/03/18 20:55:32 olteanu +* *** empty log message *** +* +* Revision 1.8 2007/03/17 00:37:04 olteanu +* *** empty log message *** +* +* Revision 1.7 2007/03/16 23:50:37 olteanu +* *** empty log message *** +* +* Revision 1.6 2007/03/16 21:30:50 olteanu +* *** empty log message *** +* +* Revision 1.5 2007/03/15 18:49:36 olteanu +* *** empty log message *** +* +* Revision 1.4 2007/03/15 12:31:50 olteanu +* *** empty log message *** +* +* Revision 1.3 2007/03/14 20:19:06 olteanu +* *** empty log message *** +* +* Revision 1.2 2007/03/14 17:57:11 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.4 2007/03/04 18:41:02 olteanu +* *** empty log message *** +* +* Revision 1.3 2007/03/03 18:22:05 olteanu +* *** empty log message *** +* +* Revision 1.2 2007/03/02 18:13:30 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.3 2005/10/28 02:56:22 jms +* add platform-specific printf formats to allow for DSS_HUGE data type +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.4 2004/02/18 16:26:49 jms +* 32/64 bit changes for overflow handling needed additional changes when ported back to windows +* +* Revision 1.3 2004/02/18 14:05:53 jms +* porting changes for LINUX and 64 bit RNG +* +* Revision 1.2 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* generate flat files for data load */ +#include +#ifndef VMS +#include +#endif +#if defined(SUN) +#include +#endif +#include + +#include "dss.h" +#include "dsstypes.h" +#include + +/* + * Function Prototypes + */ +FILE *print_prep PROTO((int table, int update)); +int pr_drange PROTO((int tbl, DSS_HUGE min, DSS_HUGE cnt, long num)); + +FILE* +print_prep(int table, int update) +{ + FILE *res = tbl_open(table, "w"); + OPEN_CHECK(res, tdefs[table].name); + return(res); +} + +int +dbg_print(int format, FILE *target, void *data, int len, int sep) +{ + int dollars, + cents; + + switch(format) + { + case DT_STR: + if (columnar) + fprintf(target, "%-*s", len, (char *)data); + else + fprintf(target, "%s", (char *)data); + break; +#ifdef MVS + case DT_VSTR: + /* note: only used in MVS, assumes columnar output */ + fprintf(target, "%c%c%-*s", + (len >> 8) & 0xFF, len & 0xFF, len, (char *)data); + break; +#endif /* MVS */ + case DT_INT: + if (columnar) + fprintf(target, "%12ld", (long)data); + else + fprintf(target, "%ld", (long)data); + break; + case DT_HUGE: + fprintf(target, HUGE_FORMAT, *(DSS_HUGE *)data); + break; + case DT_KEY: + fprintf(target, "%ld", (long)data); + break; + case DT_MONEY: + cents = (int)*(DSS_HUGE *)data; + if (cents < 0) + { + fprintf(target, "-"); + cents = -cents; + } + dollars = cents / 100; + cents %= 100; + if (columnar) + fprintf(target, "%12ld.%02ld", dollars, cents); + else + fprintf(target, "%ld.%02ld", dollars, cents); + break; + case DT_CHR: + if (columnar) + fprintf(target, "%c ", *(char *)data); + else + fprintf(target, "%c", *(char *)data); + break; + } + +//#ifdef EOL_HANDLING +// if (sep) +//#endif /* EOL_HANDLING */ +// if (!columnar) +// fprintf(target, "%c", SEPARATOR); + + return(0); +} + + +/* added by olteanu for U-relations */ + + +int +pr_component_value(unsigned table, long tid, unsigned attr, long cid, DSS_HUGE wid, void* value, int type) +{ + switch(table) + { + case PART: + switch(attr) + { + case 1: + PR_STRT(part_p_partkey); + fprintf(part_p_partkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_partkey, "%ld", *((long*)value)); + PR_END (part_p_partkey); + break; + + case 2: + PR_STRT(part_p_name); + fprintf(part_p_name, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_name, "%s", (char*)value); + PR_END (part_p_name); + break; + + case 3: + PR_STRT(part_p_mfgr); + fprintf(part_p_mfgr, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_mfgr, "%s", (char*)value); + PR_END (part_p_mfgr); + break; + + case 4: + PR_STRT(part_p_brand); + fprintf(part_p_brand, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_brand, "%s", (char*)value); + PR_END (part_p_brand); + break; + + case 5: + PR_STRT(part_p_type); + fprintf(part_p_type, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_type, "%s", (char*)value); + PR_END (part_p_type); + break; + + case 6: + PR_STRT(part_p_size); + fprintf(part_p_size, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_size, "%ld", *((long*)value)); + PR_END (part_p_size); + break; + + case 7: + PR_STRT(part_p_container); + fprintf(part_p_container, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_container, "%s", (char*)value); + PR_END (part_p_container); + break; + + case 8: + PR_STRT(part_p_retailprice); + fprintf(part_p_retailprice, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(part_p_retailprice, (long*)value); + PR_END (part_p_retailprice); + break; + + case 9: + PR_STRT(part_p_comment); + fprintf(part_p_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(part_p_comment, "%s", (char*)value); + PR_END (part_p_comment); + break; + }//end switch + break; + + case SUPP: + switch(attr) + { + case 1: + PR_STRT(supp_s_suppkey); + fprintf(supp_s_suppkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(supp_s_suppkey, "%ld", *((long*)value)); + PR_END (supp_s_suppkey); + break; + + case 2: + PR_STRT(supp_s_name); + fprintf(supp_s_name, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(supp_s_name, "%s", (char*)value); + PR_END (supp_s_name); + break; + + case 3: + PR_STRT(supp_s_address); + fprintf(supp_s_address, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(supp_s_address, "%s", (char*)value); + PR_END (supp_s_address); + break; + + case 4: + PR_STRT(supp_s_nationkey); + fprintf(supp_s_nationkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(supp_s_nationkey, "%ld", *((long*)value)); + PR_END (supp_s_nationkey); + break; + + case 5: + PR_STRT(supp_s_phone); + fprintf(supp_s_phone, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(supp_s_phone, "%s", (char*)value); + PR_END (supp_s_phone); + break; + + case 6: + PR_STRT(supp_s_acctbal); + fprintf(supp_s_acctbal, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(supp_s_acctbal, (long*)value); + PR_END (supp_s_acctbal); + break; + + case 7: + PR_STRT(supp_s_comment); + fprintf(supp_s_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(supp_s_comment, "%s", (char*)value); + PR_END (supp_s_comment); + break; + }//end switch + break; + + case PSUPP: + switch(attr) + { + case 1: + PR_STRT(psupp_ps_partkey); + fprintf(psupp_ps_partkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(psupp_ps_partkey, "%ld", *((long*)value)); + PR_END (psupp_ps_partkey); + break; + + case 2: + PR_STRT(psupp_ps_suppkey); + fprintf(psupp_ps_suppkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(psupp_ps_suppkey, "%ld", *((long*)value)); + PR_END (psupp_ps_suppkey); + break; + + case 3: + PR_STRT(psupp_ps_availqty); + fprintf(psupp_ps_availqty, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(psupp_ps_availqty, "%ld", *((long*)value)); + PR_END (psupp_ps_availqty); + break; + + case 4: + PR_STRT(psupp_ps_supplycost); + fprintf(psupp_ps_supplycost, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(psupp_ps_supplycost, (long*)value); + PR_END (psupp_ps_supplycost); + break; + + case 5: + PR_STRT(psupp_ps_comment); + fprintf(psupp_ps_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(psupp_ps_comment, "%s", (char*)value); + PR_END (psupp_ps_comment); + break; + }//end switch + break; + + case CUST: + switch(attr) + { + case 1: + PR_STRT(cust_c_custkey); + fprintf(cust_c_custkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(cust_c_custkey, "%ld", *((long*)value)); + PR_END (cust_c_custkey); + break; + + case 2: + PR_STRT(cust_c_name); + fprintf(cust_c_name, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(cust_c_name, "%s", (char*)value); + PR_END (cust_c_name); + break; + + case 3: + PR_STRT(cust_c_address); + fprintf(cust_c_address, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(cust_c_address, "%s", (char*)value); + PR_END (cust_c_address); + break; + + case 4: + PR_STRT(cust_c_nationkey); + fprintf(cust_c_nationkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(cust_c_nationkey, "%ld", *((long*)value)); + PR_END (cust_c_nationkey); + break; + + case 5: + PR_STRT(cust_c_phone); + fprintf(cust_c_phone, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(cust_c_phone, "%s", (char*)value); + PR_END (cust_c_phone); + break; + + case 6: + PR_STRT(cust_c_acctbal); + fprintf(cust_c_acctbal, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(cust_c_acctbal, (long*)value); + PR_END (cust_c_acctbal); + break; + + case 7: + PR_STRT(cust_c_mktsegment); + fprintf(cust_c_mktsegment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(cust_c_mktsegment, "%s", (char*)value); + PR_END (cust_c_mktsegment); + break; + + case 8: + PR_STRT(cust_c_comment); + fprintf(cust_c_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(cust_c_comment, "%s", (char*)value); + PR_END (cust_c_comment); + break; + }//end switch + break; + + case ORDER: + switch(attr) + { + case 1: + PR_STRT(orders_o_orderkey); + fprintf(orders_o_orderkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_orderkey, "%ld", *((long*)value)); + PR_END (orders_o_orderkey); + break; + + case 2: + PR_STRT(orders_o_custkey); + fprintf(orders_o_custkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_custkey, "%ld", *((long*)value)); + PR_END (orders_o_custkey); + break; + + case 3: + PR_STRT(orders_o_orderstatus); + fprintf(orders_o_orderstatus, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_orderstatus, "%ld", *((long*)value)); + PR_END (orders_o_orderstatus); + break; + + case 4: + PR_STRT(orders_o_totalprice); + fprintf(orders_o_totalprice, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(orders_o_totalprice, (long*)value); + PR_END (orders_o_totalprice); + break; + + case 5: + PR_STRT(orders_o_orderdate); + fprintf(orders_o_orderdate, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_orderdate, "%s", (char*)value); + PR_END (orders_o_orderdate); + break; + + case 6: + PR_STRT(orders_o_orderpriority); + fprintf(orders_o_orderpriority, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_orderpriority, "%s", (char*)value); + PR_END (orders_o_orderpriority); + break; + + case 7: + PR_STRT(orders_o_clerk); + fprintf(orders_o_clerk, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_clerk, "%s", (char*)value); + PR_END (orders_o_clerk); + break; + + case 8: + PR_STRT(orders_o_shippriority); + fprintf(orders_o_shippriority, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_shippriority, "%ld", *((long*)value)); + PR_END (orders_o_shippriority); + break; + + case 9: + PR_STRT(orders_o_comment); + fprintf(orders_o_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(orders_o_comment, "%s", (char*)value); + PR_END (orders_o_comment); + break; + }//end switch + break; + + case LINE: + switch(attr) + { + case 1: + PR_STRT(lineitem_l_orderkey); + fprintf(lineitem_l_orderkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_orderkey, "%ld", *((long*)value)); + PR_END (lineitem_l_orderkey); + break; + + case 2: + PR_STRT(lineitem_l_partkey); + fprintf(lineitem_l_partkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_partkey, "%ld", *((long*)value)); + PR_END (lineitem_l_partkey); + break; + + case 3: + PR_STRT(lineitem_l_suppkey); + fprintf(lineitem_l_suppkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_suppkey, "%ld", *((long*)value)); + PR_END (lineitem_l_suppkey); + break; + + case 4: + PR_STRT(lineitem_l_linenumber); + fprintf(lineitem_l_linenumber, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_linenumber, "%ld", *((long*)value)); + PR_END (lineitem_l_linenumber); + break; + + case 5: + PR_STRT(lineitem_l_quantity); + fprintf(lineitem_l_quantity, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_quantity, "%ld", *((long*)value)); + PR_END (lineitem_l_quantity); + break; + + case 6: + PR_STRT(lineitem_l_extendedprice); + fprintf(lineitem_l_extendedprice, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(lineitem_l_extendedprice, value); + PR_END (lineitem_l_extendedprice); + break; + + case 7: + PR_STRT(lineitem_l_discount); + fprintf(lineitem_l_discount, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(lineitem_l_discount, (long*)value); + PR_END (lineitem_l_discount); + break; + + case 8: + PR_STRT(lineitem_l_tax); + fprintf(lineitem_l_tax, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + PR_MONEY(lineitem_l_tax, (long*)value); + PR_END (lineitem_l_tax); + break; + + case 9: + PR_STRT(lineitem_l_returnflag); + fprintf(lineitem_l_returnflag, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_returnflag, "%s", (char*)value); + PR_END (lineitem_l_returnflag); + break; + + case 10: + PR_STRT(lineitem_l_linestatus); + fprintf(lineitem_l_linestatus, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_linestatus, "%ld", *((long*)value)); + PR_END (lineitem_l_linestatus); + break; + + case 11: + PR_STRT(lineitem_l_shipdate); + fprintf(lineitem_l_shipdate, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_shipdate, "%s", (char*)value); + PR_END (lineitem_l_shipdate); + break; + + case 12: + PR_STRT(lineitem_l_commitdate); + fprintf(lineitem_l_commitdate, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_commitdate, "%s", (char*)value); + PR_END (lineitem_l_commitdate); + break; + + case 13: + PR_STRT(lineitem_l_receiptdate); + fprintf(lineitem_l_receiptdate, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_receiptdate, "%s", (char*)value); + PR_END (lineitem_l_receiptdate); + break; + + case 14: + PR_STRT(lineitem_l_shipinstruct); + fprintf(lineitem_l_shipinstruct, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_shipinstruct, "%s", (char*)value); + PR_END (lineitem_l_shipinstruct); + break; + + case 15: + PR_STRT(lineitem_l_shipmode); + fprintf(lineitem_l_shipmode, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_shipmode, "%s", (char*)value); + PR_END (lineitem_l_shipmode); + break; + + case 16: + PR_STRT(lineitem_l_comment); + fprintf(lineitem_l_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(lineitem_l_comment, "%s", (char*)value); + PR_END (lineitem_l_comment); + break; + }//end switch + break; + + case NATION: + switch(attr) + { + case 1: + PR_STRT(nation_n_nationkey); + fprintf(nation_n_nationkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(nation_n_nationkey, "%ld", *((long*)value)); + PR_END (nation_n_nationkey); + break; + + case 2: + PR_STRT(nation_n_name); + fprintf(nation_n_name, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(nation_n_name, "%s", (char*)value); + PR_END (nation_n_name); + break; + + case 3: + PR_STRT(nation_n_regionkey); + fprintf(nation_n_regionkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(nation_n_regionkey, "%ld", *((long*)value)); + PR_END (nation_n_regionkey); + break; + + case 4: + PR_STRT(nation_n_comment); + fprintf(nation_n_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(nation_n_comment, "%s", (char*)value); + PR_END (nation_n_comment); + break; + }//end switch + break; + + case REGION: + switch(attr) + { + case 1: + PR_STRT(region_r_regionkey); + fprintf(region_r_regionkey, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(region_r_regionkey, "%ld", *((long*)value)); + PR_END (region_r_regionkey); + break; + + case 2: + PR_STRT(region_r_name); + fprintf(region_r_name, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(region_r_name, "%s", (char*)value); + PR_END (region_r_name); + break; + + case 3: + PR_STRT(region_r_comment); + fprintf(region_r_comment, "%ld%c%lld%c%ld%c",cid,SEPARATOR,wid,SEPARATOR,tid,SEPARATOR); + fprintf(region_r_comment, "%s", (char*)value); + PR_END (region_r_comment); + break; + }//end switch + break; + }//end switch + return(0); +} + + + +void +add_placeholder(unsigned table, long tid, unsigned attribute) +{ + + Placeholder * placeholder = (Placeholder *) malloc(sizeof(Placeholder)); + placeholder->table = table; + placeholder->tid = tid; + placeholder->column = attribute; + + if (placeholders_idx == PLACEHOLDERS_LIMIT) + { + fprintf (stderr, "reached the placeholders limit. \n"); + gen_components (); + free (placeholder_set); + placeholders_idx = 0; + placeholders_size = PLACEHOLDERS_INIT; + placeholder_set = (Placeholder**) calloc(placeholders_size,sizeof(Placeholder*)); + if (placeholder_set == NULL) + { + fprintf (stderr, "out of memory \n"); + exit(-1); + } + } else + if (placeholders_idx == placeholders_size) + { + fprintf (stderr, "reallocate a bit. %ld not enough.. \n",placeholders_size); + placeholders_size *=1.5; + placeholder_set = realloc(placeholder_set, placeholders_size * sizeof(Placeholder*)); + if (placeholder_set == NULL) + { + fprintf (stderr, "out of memory \n"); + exit(-1); + } + } + + placeholder_set[placeholders_idx] = placeholder; + placeholders_idx++; +} + + +/* the following functions are changed by olteanu for U-relations */ + +int +pr_cust(customer_t *c, int mode) +{ + DSS_HUGE i; + threshold = upper * placeholders_ratio; + + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + //fprintf(stderr,"i is %ld, threshold is %ld, upper is %ld",(long)i,threshold,upper); + if (TUPLE_LEVEL) { + if ((long)i < threshold+1) { + add_placeholder(CUST, (long)c->custkey, 0); + return; + } + threshold = -1; + } + + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_custkey); + fprintf(cust_c_custkey, "%ld%c1%c%ld%c%ld",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR,c->custkey); + PR_END (cust_c_custkey); + + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; + crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,1); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_name); + fprintf(cust_c_name, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR); + if (scale <= 3000) + PR_VSTR(cust_c_name, c->name, C_NAME_LEN); + else + PR_VSTR(cust_c_name, c->name, C_NAME_LEN + 3); + PR_END (cust_c_name); + + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; + crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,2); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_address); + fprintf(cust_c_address, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR); + PR_VSTR(cust_c_address, c->address, + (columnar)?(long)(ceil(C_ADDR_LEN * V_STR_HGH)):c->alen); + PR_END (cust_c_address); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,3); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_nationkey); + fprintf(cust_c_nationkey, "%ld%c1%c%ld%c%lld",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR,c->nation_code); + PR_END (cust_c_nationkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,4); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_phone); + fprintf(cust_c_phone, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR); + PR_STR(cust_c_phone, c->phone, PHONE_LEN); + PR_END (cust_c_phone); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,5); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_acctbal); + fprintf(cust_c_acctbal, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR); + PR_MONEY(cust_c_acctbal, &c->acctbal); + PR_END (cust_c_acctbal); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,6); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_mktsegment); + fprintf(cust_c_mktsegment, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR); + PR_STR(cust_c_mktsegment, c->mktsegment, C_MSEG_LEN); + PR_END (cust_c_mktsegment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,7); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,CUST_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(cust_c_comment); + fprintf(cust_c_comment, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->custkey,SEPARATOR); + PR_VSTR_LAST(cust_c_comment, c->comment, + (columnar)?(long)(ceil(C_CMNT_LEN * V_STR_HGH)):c->clen); + PR_END (cust_c_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(CUST,(long)c->custkey,8); + + return(0); +} + +/* + * print the numbered order + */ +int +pr_order(order_t *o, int mode) +{ + DSS_HUGE i; + threshold = upper * placeholders_ratio; + + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + + if (TUPLE_LEVEL) { + if ((long)i < threshold+1) { + add_placeholder(ORDER,(long)o->okey,0); + return; + } + threshold = -1; + } + + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_orderkey); + fprintf(orders_o_orderkey, "%ld%c1%c%ld%c%ld",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR,(long)o->okey); + PR_END (orders_o_orderkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,1); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_custkey); + fprintf(orders_o_custkey, "%ld%c1%c%ld%c%ld",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR, + (long)o->custkey); + PR_END (orders_o_custkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,2); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_orderstatus); + fprintf(orders_o_orderstatus, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR); + PR_CHR(orders_o_orderstatus, &o->orderstatus); + PR_END (orders_o_orderstatus); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,3); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_totalprice); + fprintf(orders_o_totalprice, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR); + PR_MONEY(orders_o_totalprice, &o->totalprice); + PR_END (orders_o_totalprice); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,4); + + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_orderdate); + fprintf(orders_o_orderdate, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR); + PR_STR(orders_o_orderdate, o->odate, DATE_LEN); + PR_END (orders_o_orderdate); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,5); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_orderpriority); + fprintf(orders_o_orderpriority, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR); + PR_STR(orders_o_orderpriority, o->opriority, O_OPRIO_LEN); + PR_END (orders_o_orderpriority); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,6); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_clerk); + fprintf(orders_o_clerk, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR); + PR_STR(orders_o_clerk, o->clerk, O_CLRK_LEN); + PR_END (orders_o_clerk); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,7); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_shippriority); + fprintf(orders_o_shippriority, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR); + PR_INT(orders_o_shippriority, o->spriority); + PR_END (orders_o_shippriority); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,8); + + if (!TUPLE_LEVEL) + RANDOM(i,0,upper,ORDERS_PLACEHOLDERS); + if ((long)i > threshold) { + if (!COUNT_ONLY) { + PR_STRT(orders_o_comment); + fprintf(orders_o_comment, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)o->okey,SEPARATOR); + PR_VSTR_LAST(orders_o_comment, o->comment, + (columnar)?(long)(ceil(O_CMNT_LEN * V_STR_HGH)):o->clen); + PR_END (orders_o_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(ORDER,(long)o->okey,9); + return(0); +} + +/* + * print an order's lineitems + */ +int +pr_line(order_t *o, int mode) +{ + long i; + DSS_HUGE j; + threshold = upper * placeholders_ratio; + + for (i = 0; (long)i < o->lines; i++) + { + + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if (TUPLE_LEVEL) { + if ((long)j < threshold+1) { + add_placeholder(LINE,tid_line,0); + tid_line++; + continue; + } + } + + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_orderkey); + fprintf(lineitem_l_orderkey, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR,o->l[i].okey); + PR_END (lineitem_l_orderkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,1); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_partkey); + fprintf(lineitem_l_partkey, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR, + o->l[i].partkey); + PR_END (lineitem_l_partkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,2); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_suppkey); + fprintf(lineitem_l_suppkey, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR, + o->l[i].suppkey); + PR_END (lineitem_l_suppkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,3); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_linenumber); + fprintf(lineitem_l_linenumber, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR, + o->l[i].lcnt); + PR_END (lineitem_l_linenumber); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,4); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_quantity); + fprintf(lineitem_l_quantity, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR, + o->l[i].quantity); + PR_END (lineitem_l_quantity); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,5); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_extendedprice); + fprintf(lineitem_l_extendedprice, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_MONEY(lineitem_l_extendedprice, &o->l[i].eprice); + PR_END (lineitem_l_extendedprice); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,6); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_discount); + fprintf(lineitem_l_discount, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_MONEY(lineitem_l_discount, &o->l[i].discount); + PR_END (lineitem_l_discount); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,7); + + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_tax); + fprintf(lineitem_l_tax, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_MONEY(lineitem_l_tax, &o->l[i].tax); + PR_END (lineitem_l_tax); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,8); + + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_returnflag); + fprintf(lineitem_l_returnflag, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_CHR(lineitem_l_returnflag, &o->l[i].rflag[0]); + PR_END (lineitem_l_returnflag); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,9); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_linestatus); + fprintf(lineitem_l_linestatus, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_CHR(lineitem_l_linestatus, &o->l[i].lstatus[0]); + PR_END (lineitem_l_linestatus); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,10); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_shipdate); + fprintf(lineitem_l_shipdate, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_STR(lineitem_l_shipdate, o->l[i].sdate, DATE_LEN); + PR_END (lineitem_l_shipdate); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,11); + + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_commitdate); + fprintf(lineitem_l_commitdate, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_STR(lineitem_l_commitdate, o->l[i].cdate, DATE_LEN); + PR_END (lineitem_l_commitdate); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,12); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_receiptdate); + fprintf(lineitem_l_receiptdate, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_STR(lineitem_l_receiptdate, o->l[i].rdate, DATE_LEN); + PR_END (lineitem_l_receiptdate); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,13); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_shipinstruct); + fprintf(lineitem_l_shipinstruct, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_STR(lineitem_l_shipinstruct, o->l[i].shipinstruct, L_INST_LEN); + PR_END (lineitem_l_shipinstruct); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,14); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_shipmode); + fprintf(lineitem_l_shipmode, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_STR(lineitem_l_shipmode, o->l[i].shipmode, L_SMODE_LEN); + PR_END (lineitem_l_shipmode); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,15); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,LINE_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(lineitem_l_comment); + fprintf(lineitem_l_comment, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_line,SEPARATOR); + PR_VSTR_LAST(lineitem_l_comment, o->l[i].comment, + (columnar)?(long)(ceil(L_CMNT_LEN * V_STR_HGH)):o->l[i].clen); + PR_END (lineitem_l_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(LINE,tid_line,16); + + tid_line++; + } + + return(0); +} + +/* + * print the numbered order *and* its associated lineitems + */ +int +pr_order_line(order_t *o, int mode) +{ + tdefs[ORDER].name = tdefs[ORDER_LINE].name; + pr_order(o, mode); + pr_line(o, mode); + + return(0); +} + +/* + * print the given part + */ +int +pr_part(part_t *part, int mode) +{ + DSS_HUGE j; + threshold = upper * placeholders_ratio; + + RANDOM(j,0,upper,PART_PLACEHOLDERS); + + if (TUPLE_LEVEL) { + if ((long)j partkey,0); + return; + } + threshold = -1; + } + + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_partkey); + fprintf(part_p_partkey, "%ld%c1%c%ld%c%ld",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR, + (long)part->partkey); + PR_END (part_p_partkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,1); + + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_name); + fprintf(part_p_name, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR); + PR_VSTR(part_p_name, part->name, + (columnar)?(long)P_NAME_LEN:part->nlen); + PR_END (part_p_name); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,2); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_mfgr); + fprintf(part_p_mfgr, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR); + PR_STR(part_p_mfgr, part->mfgr, P_MFG_LEN); + PR_END (part_p_mfgr); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,3); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_brand); + fprintf(part_p_brand, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR); + PR_STR(part_p_brand, part->brand, P_BRND_LEN); + PR_END (part_p_brand); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,4); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_type); + fprintf(part_p_type, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR); + PR_VSTR(part_p_type, part->type, + (columnar)?(long)P_TYPE_LEN:part->tlen); + PR_END (part_p_type); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,5); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_size); + fprintf(part_p_size, "%ld%c1%c%ld%c%ld",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR, + (long)part->size); + PR_END (part_p_size); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,6); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_container); + fprintf(part_p_container, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR); + PR_STR(part_p_container, part->container, P_CNTR_LEN); + PR_END (part_p_container); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,7); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_retailprice); + fprintf(part_p_retailprice, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR); + PR_MONEY(part_p_retailprice, &part->retailprice); + PR_END (part_p_retailprice); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,8); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PART_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(part_p_comment); + fprintf(part_p_comment, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)part->partkey,SEPARATOR); + PR_VSTR(part_p_comment, part->comment, + (columnar)?(long)(ceil(P_CMNT_LEN * V_STR_HGH)):part->clen); + PR_END (part_p_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PART,(long)part->partkey,9); + + return(0); +} + +/* + * print the given part's suppliers + */ +int +pr_psupp(part_t *part, int mode) +{ + long i; + DSS_HUGE j; + threshold = upper * placeholders_ratio; + + + for (i = 0; i < SUPP_PER_PART; i++) + { + RANDOM(j,0,upper,PSUPP_PLACEHOLDERS); + + if (TUPLE_LEVEL) { + if ((long)j threshold) { + if (!COUNT_ONLY) { + PR_STRT(psupp_ps_partkey); + fprintf(psupp_ps_partkey, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_partsupp,SEPARATOR, + part->s[i].partkey); + PR_END (psupp_ps_partkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PSUPP,(long)tid_partsupp,1); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PSUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(psupp_ps_suppkey); + fprintf(psupp_ps_suppkey, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_partsupp,SEPARATOR, + part->s[i].suppkey); + PR_END (psupp_ps_suppkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PSUPP,(long)tid_partsupp,2); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PSUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(psupp_ps_availqty); + fprintf(psupp_ps_availqty, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,tid_partsupp,SEPARATOR, + part->s[i].qty); + PR_END (psupp_ps_availqty); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PSUPP,(long)tid_partsupp,3); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PSUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(psupp_ps_supplycost); + fprintf(psupp_ps_supplycost, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_partsupp,SEPARATOR); + PR_MONEY(psupp_ps_supplycost, &part->s[i].scost); + PR_END (psupp_ps_supplycost); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PSUPP,(long)tid_partsupp,4); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,PSUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(psupp_ps_comment); + fprintf(psupp_ps_comment, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,tid_partsupp,SEPARATOR); + PR_VSTR(psupp_ps_comment, part->s[i].comment, + (columnar)?(long)(ceil(PS_CMNT_LEN * V_STR_HGH)):part->s[i].clen); + PR_END (psupp_ps_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(PSUPP,(long)tid_partsupp,5); + + tid_partsupp++; + } + + return(0); +} + +/* + * print the given part *and* its suppliers + */ +int +pr_part_psupp(part_t *part, int mode) +{ + tdefs[PART].name = tdefs[PART_PSUPP].name; + pr_part(part, mode); + pr_psupp(part, mode); + + return(0); +} + +int +pr_supp(supplier_t *supp, int mode) +{ + DSS_HUGE j; + threshold = upper * placeholders_ratio; + + RANDOM(j,0,upper,SUPP_PLACEHOLDERS); + + if (TUPLE_LEVEL) { + if ((long)j suppkey,0); + return; + } + threshold = -1; + } + + + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(supp_s_suppkey); + fprintf(supp_s_suppkey, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,supp->suppkey,SEPARATOR, + supp->suppkey); + PR_END (supp_s_suppkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(SUPP,(long)supp->suppkey,1); + + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,SUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(supp_s_name); + fprintf(supp_s_name, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,supp->suppkey,SEPARATOR); + PR_STR(supp_s_name, supp->name, S_NAME_LEN); + PR_END (supp_s_name); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(SUPP,(long)supp->suppkey,2); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,SUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(supp_s_address); + fprintf(supp_s_address, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,supp->suppkey,SEPARATOR); + PR_VSTR(supp_s_address, supp->address, + (columnar)?(long)(ceil(S_ADDR_LEN * V_STR_HGH)):supp->alen); + PR_END (supp_s_address); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(SUPP,(long)supp->suppkey,3); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,SUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(supp_s_nationkey); + fprintf(supp_s_nationkey, "%ld%c1%c%lld%c%lld",crt_cid,SEPARATOR,SEPARATOR,supp->suppkey,SEPARATOR, + supp->nation_code); + PR_END (supp_s_nationkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(SUPP,(long)supp->suppkey,4); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,SUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(supp_s_phone); + fprintf(supp_s_phone, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,supp->suppkey,SEPARATOR); + PR_STR(supp_s_phone, supp->phone, PHONE_LEN); + PR_END (supp_s_phone); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(SUPP,(long)supp->suppkey,5); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,SUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(supp_s_acctbal); + fprintf(supp_s_acctbal, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,supp->suppkey,SEPARATOR); + PR_MONEY(supp_s_acctbal, &supp->acctbal); + PR_END (supp_s_acctbal); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(SUPP,(long)supp->suppkey,6); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,SUPP_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(supp_s_comment); + fprintf(supp_s_comment, "%ld%c1%c%lld%c",crt_cid,SEPARATOR,SEPARATOR,supp->suppkey,SEPARATOR); + PR_VSTR_LAST(supp_s_comment, supp->comment, + (columnar)?(long)(ceil(S_CMNT_LEN * V_STR_HGH)):supp->clen); + PR_END (supp_s_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(SUPP,(long)supp->suppkey,7); + + return(0); +} + +int +pr_nation(code_t *c, int mode) +{ + DSS_HUGE j; + threshold = upper * placeholders_ratio; + + RANDOM(j,0,upper,NATION_PLACEHOLDERS); + + if (TUPLE_LEVEL) { + if ((long)j code,0); + return; + } + threshold = -1; + } + + + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(nation_n_nationkey); + fprintf(nation_n_nationkey, "%ld%c1%c%ld%c%ld",crt_cid,SEPARATOR,SEPARATOR,(long)c->code,SEPARATOR, + (long)c->code); + PR_END (nation_n_nationkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; + crt_cid++; + } + } + else + add_placeholder(NATION,(long)c->code,1); + + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,NATION_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(nation_n_name); + fprintf(nation_n_name, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->code,SEPARATOR); + PR_STR(nation_n_name, c->text, NATION_LEN); + PR_END (nation_n_name); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(NATION,(long)c->code,2); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,NATION_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(nation_n_regionkey); + fprintf(nation_n_regionkey, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->code,SEPARATOR); + PR_INT(nation_n_regionkey, c->join); + PR_END (nation_n_regionkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(NATION,(long)c->code,3); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,NATION_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(nation_n_comment); + fprintf(nation_n_comment, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->code,SEPARATOR); + PR_VSTR_LAST(nation_n_comment, c->comment, + (columnar)?(long)(ceil(N_CMNT_LEN * V_STR_HGH)):c->clen); + PR_END (nation_n_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(NATION,(long)c->code,4); + + return(0); +} + +int +pr_region(code_t *c, int mode) +{ + DSS_HUGE j; + threshold = upper * placeholders_ratio; + + RANDOM(j,0,upper,REGION_PLACEHOLDERS); + + if (TUPLE_LEVEL) { + if ((long)j code,0); + return; + } + threshold = -1; + } + + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(region_r_regionkey); + fprintf(region_r_regionkey, "%ld%c1%c%ld%c%ld",crt_cid,SEPARATOR,SEPARATOR,(long)c->code,SEPARATOR,(long)c->code); + PR_END (region_r_regionkey); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(REGION,(long)c->code,1); + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,REGION_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(region_r_name); + fprintf(region_r_name, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->code,SEPARATOR); + PR_STR(region_r_name, c->text, REGION_LEN); + PR_END (region_r_name); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(REGION,(long)c->code,2); + + + if (!TUPLE_LEVEL) + RANDOM(j,0,upper,REGION_PLACEHOLDERS); + if ((long)j > threshold) { + if (!COUNT_ONLY) { + PR_STRT(region_r_comment); + fprintf(region_r_comment, "%ld%c1%c%ld%c",crt_cid,SEPARATOR,SEPARATOR,(long)c->code,SEPARATOR); + PR_VSTR_LAST(region_r_comment, c->comment, + (columnar)?(long)(ceil(R_CMNT_LEN * V_STR_HGH)):c->clen); + PR_END (region_r_comment); + stat_avg_lworlds += (1-stat_avg_lworlds)/crt_cid; +crt_cid++; + } + } + else + add_placeholder(REGION,(long)c->code,3); + + return(0); +} + +/* + * NOTE: this routine does NOT use the BCD2_* routines. As a result, + * it WILL fail if the keys being deleted exceed 32 bits. Since this + * would require ~660 update iterations, this seems an acceptable + * oversight + */ +int +pr_drange(int tbl, DSS_HUGE min, DSS_HUGE cnt, long num) +{ + static int last_num = 0; + static FILE *dfp = NULL; + DSS_HUGE child = -1; + DSS_HUGE start, last, new; + + static DSS_HUGE rows_per_segment=0; + static DSS_HUGE rows_this_segment=0; + + if (last_num != num) + { + if (dfp) + fclose(dfp); + dfp = print_prep(tbl, -num); + if (dfp == NULL) + return(-1); + last_num = num; + rows_this_segment=0; + } + + start = MK_SPARSE(min, num/ (10000 / refresh)); + last = start - 1; + for (child=min; cnt > 0; child++, cnt--) + { + new = MK_SPARSE(child, num/ (10000 / refresh)); + if (gen_rng == 1 && new - last == 1) + { + last = new; + continue; + } + if (gen_sql) + { + fprintf(dfp, + "delete from %s where %s between %ld and %ld;\n", + tdefs[ORDER].name, "o_orderkey", start, last); + fprintf(dfp, + "delete from %s where %s between %ld and %ld;\n", + tdefs[LINE].name, "l_orderkey", start, last); + fprintf(dfp, "commit work;\n"); + } + else + if (gen_rng) + { + PR_STRT(dfp); + PR_HUGE(dfp, &start); + PR_HUGE(dfp, &last); + PR_END(dfp); + } + else + { + if (delete_segments) + { + + if(rows_per_segment==0) + rows_per_segment = (cnt / delete_segments) + 1; + if((++rows_this_segment) > rows_per_segment) + { + fclose(dfp); + dfp = print_prep(tbl, -num); + if (dfp == NULL) return(-1); + last_num = num; + rows_this_segment=1; + } + } + PR_STRT(dfp); + PR_HUGE(dfp, &new); + PR_END(dfp); + } + start = new; + last = new; + } + if (gen_rng) + { + PR_STRT(dfp); + PR_HUGE(dfp, &start); + PR_HUGE(dfp, &last); + PR_END(dfp); + } + + return(0); +} + +/* + * verify functions: routines which replace the pr_routines and generate a pseudo checksum + * instead of generating the actual contents of the tables. Meant to allow large scale data + * validation without requiring a large amount of storage + */ +int +vrf_cust(customer_t *c, int mode) +{ + VRF_STRT(CUST); + VRF_INT(CUST, c->custkey); + VRF_STR(CUST, c->name); + VRF_STR(CUST, c->address); + VRF_INT(CUST, c->nation_code); + VRF_STR(CUST, c->phone); + VRF_MONEY(CUST, c->acctbal); + VRF_STR(CUST, c->mktsegment); + VRF_STR(CUST, c->comment); + VRF_END(CUST); + + return(0); +} + +/* + * print the numbered order + */ +int +vrf_order(order_t *o, int mode) +{ + VRF_STRT(ORDER); + VRF_HUGE(ORDER, o->okey); + VRF_INT(ORDER, o->custkey); + VRF_CHR(ORDER, o->orderstatus); + VRF_MONEY(ORDER, o->totalprice); + VRF_STR(ORDER, o->odate); + VRF_STR(ORDER, o->opriority); + VRF_STR(ORDER, o->clerk); + VRF_INT(ORDER, o->spriority); + VRF_STR(ORDER, o->comment); + VRF_END(ORDER); + + return(0); +} + +/* + * print an order's lineitems + */ +int +vrf_line(order_t *o, int mode) +{ + int i; + + for (i = 0; i < o->lines; i++) + { + VRF_STRT(LINE); + VRF_HUGE(LINE, o->l[i].okey); + VRF_INT(LINE, o->l[i].partkey); + VRF_INT(LINE, o->l[i].suppkey); + VRF_INT(LINE, o->l[i].lcnt); + VRF_INT(LINE, o->l[i].quantity); + VRF_MONEY(LINE, o->l[i].eprice); + VRF_MONEY(LINE, o->l[i].discount); + VRF_MONEY(LINE, o->l[i].tax); + VRF_CHR(LINE, o->l[i].rflag[0]); + VRF_CHR(LINE, o->l[i].lstatus[0]); + VRF_STR(LINE, o->l[i].sdate); + VRF_STR(LINE, o->l[i].cdate); + VRF_STR(LINE, o->l[i].rdate); + VRF_STR(LINE, o->l[i].shipinstruct); + VRF_STR(LINE, o->l[i].shipmode); + VRF_STR(LINE, o->l[i].comment); + VRF_END(LINE); + } + + return(0); +} + +/* + * print the numbered order *and* its associated lineitems + */ +int +vrf_order_line(order_t *o, int mode) +{ + vrf_order(o, mode); + vrf_line(o, mode); + + return(0); +} + +/* + * print the given part + */ +int +vrf_part(part_t *part, int mode) +{ + + VRF_STRT(PART); + VRF_INT(PART, part->partkey); + VRF_STR(PART, part->name); + VRF_STR(PART, part->mfgr); + VRF_STR(PART, part->brand); + VRF_STR(PART, part->type); + VRF_INT(PART, part->size); + VRF_STR(PART, part->container); + VRF_MONEY(PART, part->retailprice); + VRF_STR(PART, part->comment); + VRF_END(PART); + + return(0); +} + +/* + * print the given part's suppliers + */ +int +vrf_psupp(part_t *part, int mode) +{ + long i; + + for (i = 0; i < SUPP_PER_PART; i++) + { + VRF_STRT(PSUPP); + VRF_INT(PSUPP, part->s[i].partkey); + VRF_INT(PSUPP, part->s[i].suppkey); + VRF_INT(PSUPP, part->s[i].qty); + VRF_MONEY(PSUPP, part->s[i].scost); + VRF_STR(PSUPP, part->s[i].comment); + VRF_END(PSUPP); + } + + return(0); +} + +/* + * print the given part *and* its suppliers + */ +int +vrf_part_psupp(part_t *part, int mode) +{ + vrf_part(part, mode); + vrf_psupp(part, mode); + + return(0); +} + +int +vrf_supp(supplier_t *supp, int mode) +{ + VRF_STRT(SUPP); + VRF_INT(SUPP, supp->suppkey); + VRF_STR(SUPP, supp->name); + VRF_STR(SUPP, supp->address); + VRF_INT(SUPP, supp->nation_code); + VRF_STR(SUPP, supp->phone); + VRF_MONEY(SUPP, supp->acctbal); + VRF_STR(SUPP, supp->comment); + VRF_END(SUPP); + + return(0); +} + +int +vrf_nation(code_t *c, int mode) +{ + VRF_STRT(NATION); + VRF_INT(NATION, c->code); + VRF_STR(NATION, c->text); + VRF_INT(NATION, c->join); + VRF_STR(NATION, c->comment); + VRF_END(NATION); + + return(0); +} + +int +vrf_region(code_t *c, int mode) +{ + VRF_STRT(REGION); + VRF_INT(REGION, c->code); + VRF_STR(REGION, c->text); + VRF_STR(REGION, c->comment); + VRF_END(fp); + + return(0); +} + diff --git a/MayBMS-tpch/uncertain-tpch/qgen.c b/MayBMS-tpch/uncertain-tpch/qgen.c new file mode 100644 index 0000000..c19675e --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/qgen.c @@ -0,0 +1,494 @@ +/* +* $Id: qgen.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: qgen.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.3 2005/10/28 02:54:35 jms +* add release.h changes +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * qgen.c -- routines to convert query templates to executable query + * text for TPC-H and TPC-R + */ +#define DECLARER + +#include +#include +#if (defined(_POSIX_)||!defined(WIN32)) +#include +#else +#include "process.h" +#endif /* WIN32 */ +#include +#include +#include "config.h" +#include "dss.h" +#include "tpcd.h" +#include "permute.h" +#include "release.h" + + +#define LINE_SIZE 512 + +/* + * Function Protoypes + */ +void varsub PROTO((int qnum, int vnum, int flags)); +int strip_comments PROTO((char *line)); +void usage PROTO((void)); +int process_options PROTO((int cnt, char **args)); +int setup PROTO((void)); +void qsub PROTO((char *qtag, int flags)); + + + +extern char *optarg; +extern int optind; +char **mk_ascdate(void); +extern seed_t Seed[]; + +char **asc_date; +int snum = -1; +char *prog; +tdef tdefs = { NULL }; +long rndm; +double flt_scale; +distribution q13a, q13b; +int qnum; + + +/* + * FUNCTION strip_comments(line) + * + * remove all comments from 'line'; recognizes both {} and -- comments + */ +int +strip_comments(char *line) +{ + static int in_comment = 0; + char *cp1, *cp2; + + cp1 = line; + + while (1) /* traverse the entire string */ + { + if (in_comment) + { + if ((cp2 = strchr(cp1, '}')) != NULL) /* comment ends */ + { + strcpy(cp1, cp2 + 1); + in_comment = 0; + continue; + } + else + { + *cp1 = '\0'; + break; + } + } + else /* not in_comment */ + { + if ((cp2 = strchr(cp1, '-')) != NULL) + { + if (*(cp2 + 1) == '-') /* found a '--' comment */ + { + *cp2 = '\0'; + break; + } + } + if ((cp2 = strchr(cp1, '{')) != NULL) /* comment starts */ + { + in_comment = 1; + *cp2 = ' '; + continue; + } + else break; + } + } + return(0); +} + +/* + * FUNCTION qsub(char *qtag, int flags) + * + * based on the settings of flags, and the template file $QDIR/qtag.sql + * make the following substitutions to turn a query template into EQT + * + * String Converted to Based on + * ====== ============ =========== + * first line database ; -n from command line + * second line set explain on; -x from command line + * : parameter + * :k set number + * :o output to outpath/qnum.snum + * -o from command line, SET_OUTPUT + * :s stream number + * :b BEGIN WORK; -a from command line, START_TRAN + * :e COMMIT WORK; -a from command line, END_TRAN + * :q query number + * :n sets rowcount to be returned + */ +void +qsub(char *qtag, int flags) +{ +static char *line = NULL, + *qpath = NULL; +FILE *qfp; +char *cptr, + *mark, + *qroot = NULL; + + qnum = atoi(qtag); + if (line == NULL) + { + line = malloc(BUFSIZ); + qpath = malloc(BUFSIZ); + MALLOC_CHECK(line); + MALLOC_CHECK(qpath); + } + + qroot = env_config(QDIR_TAG, QDIR_DFLT); + sprintf(qpath, "%s%c%s.sql", + qroot, PATH_SEP, qtag); + qfp = fopen(qpath, "r"); + OPEN_CHECK(qfp, qpath); + + rowcnt = rowcnt_dflt[qnum]; + varsub(qnum, 0, flags); /* set the variables */ + if (flags & DFLT_NUM) + fprintf(ofp, SET_ROWCOUNT, rowcnt); + while (fgets(line, BUFSIZ, qfp) != NULL) + { + if (!(flags & COMMENT)) + strip_comments(line); + mark = line; + while ((cptr = strchr(mark, VTAG)) != NULL) + { + *cptr = '\0'; + cptr++; + fprintf(ofp,"%s", mark); + switch(*cptr) + { + case 'b': + case 'B': + if (!(flags & ANSI)) + fprintf(ofp,"%s\n", START_TRAN); + cptr++; + break; + case 'c': + case 'C': + if (flags & DBASE) + fprintf(ofp, SET_DBASE, db_name); + cptr++; + break; + case 'e': + case 'E': + if (!(flags & ANSI)) + fprintf(ofp,"%s\n", END_TRAN); + cptr++; + break; + case 'n': + case 'N': + if (!(flags & DFLT_NUM)) + { + rowcnt=atoi(++cptr); + while (isdigit(*cptr) || *cptr == ' ') cptr++; + fprintf(ofp, SET_ROWCOUNT, rowcnt); + } + continue; + case 'o': + case 'O': + if (flags & OUTPUT) + fprintf(ofp,"%s '%s/%s.%d'", SET_OUTPUT, osuff, + qtag, (snum < 0)?0:snum); + cptr++; + break; + case 'q': + case 'Q': + fprintf(ofp,"%s", qtag); + cptr++; + break; + case 's': + case 'S': + fprintf(ofp,"%d", (snum < 0)?0:snum); + cptr++; + break; + case 'X': + case 'x': + if (flags & EXPLAIN) + fprintf(ofp, "%s\n", GEN_QUERY_PLAN); + cptr++; + break; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + varsub(qnum, atoi(cptr), flags & DFLT); + while (isdigit(*++cptr)); + break; + default: + fprintf(stderr, "-- unknown flag '%c%c' ignored\n", + VTAG, *cptr); + cptr++; + break; + } + mark=cptr; + } + fprintf(ofp,"%s", mark); + } + fclose(qfp); + fflush(stdout); + return; +} + +void +usage(void) +{ +printf("%s Parameter Substitution (v. %d.%d.%d build %d)\n", + NAME, VERSION,RELEASE, + PATCH,BUILD); +printf("Copyright %s %s\n", TPC, C_DATES); +printf("USAGE: %s [ queries ]\n", prog); +printf("Options:\n"); +printf("\t-a\t\t-- use ANSI semantics.\n"); +printf("\t-b \t-- load distributions from \n"); +printf("\t-c\t\t-- retain comments found in template.\n"); +printf("\t-d\t\t-- use default substitution values.\n"); +printf("\t-h\t\t-- print this usage summary.\n"); +printf("\t-i \t-- use the contents of file to begin a query.\n"); +printf("\t-l \t-- log parameters to .\n"); +printf("\t-n \t-- connect to database .\n"); +printf("\t-N\t\t-- use default rowcounts and ignore :n directive.\n"); +printf("\t-o \t-- set the output file base path to .\n"); +printf("\t-p \t\t-- use the query permutation for stream \n"); +printf("\t-r \t\t-- seed the random number generator with \n"); +printf("\t-s \t\t-- base substitutions on an SF of \n"); +printf("\t-v\t\t-- verbose.\n"); +printf("\t-t \t-- use the contents of file to complete a query\n"); +printf("\t-x\t\t-- enable SET EXPLAIN in each query.\n"); +} + +int +process_options(int cnt, char **args) +{ + int flag; + + while((flag = getopt(cnt, args, "ab:cdhi:n:Nl:o:p:r:s:t:vx")) != -1) + switch(flag) + { + case 'a': /* use ANSI semantics */ + flags |= ANSI; + break; + case 'b': /* load distributions from named file */ + d_path = (char *)malloc(strlen(optarg) + 1); + MALLOC_CHECK(d_path); + strcpy(d_path, optarg); + break; + case 'c': /* retain comments in EQT */ + flags |= COMMENT; + break; + case 'd': /* use default substitution values */ + flags |= DFLT; + break; + case 'h': /* just generate the usage summary */ + usage(); + exit(0); + break; + case 'i': /* set stream initialization file name */ + ifile = malloc(strlen(optarg) + 1); + MALLOC_CHECK(ifile); + strcpy(ifile, optarg); + flags |= INIT; + break; + case 'l': /* log parameter usages */ + lfile = malloc(strlen(optarg) + 1); + MALLOC_CHECK(lfile); + strcpy(lfile, optarg); + flags |= LOG; + break; + case 'N': /* use default rowcounts */ + flags |= DFLT_NUM; + break; + case 'n': /* set database name */ + db_name = malloc(strlen(optarg) + 1); + MALLOC_CHECK(db_name); + strcpy(db_name, optarg); + flags |= DBASE; + break; + case 'o': /* set the output path */ + osuff = malloc(strlen(optarg) + 1); + MALLOC_CHECK(osuff); + strcpy(osuff, optarg); + flags |=OUTPUT; + break; + case 'p': /* permutation for a given stream */ + snum = atoi(optarg); + break; + case 'r': /* set random number seed for parameter gen */ + flags |= SEED; + rndm = atol(optarg); + break; + case 's': /* scale of data set to run against */ + flt_scale = atof(optarg); + if (scale > MAX_SCALE) + fprintf(stderr, "%s %5.0f %s\n%s\n", + "WARNING: Support for scale factors >", + MAX_SCALE, + "GB is still in development.", + "Data set integrity is not guaranteed.\n"); + break; + case 't': /* set termination file name */ + tfile = malloc(strlen(optarg) + 1); + MALLOC_CHECK(tfile); + strcpy(tfile, optarg); + flags |= TERMINATE; + break; + case 'v': /* verbose */ + flags |= VERBOSE; + break; + case 'x': /* set explain in the queries */ + flags |= EXPLAIN; + break; + default: + printf("unknown option '%s' ignored\n", args[optind]); + usage(); + exit(1); + break; + } + return(0); +} + +int +setup(void) +{ + asc_date = mk_ascdate(); + read_dist(env_config(DIST_TAG, DIST_DFLT), "p_cntr", &p_cntr_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "colors", &colors); + read_dist(env_config(DIST_TAG, DIST_DFLT), "p_types", &p_types_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "nations", &nations); + read_dist(env_config(DIST_TAG, DIST_DFLT), "nations2", &nations2); + read_dist(env_config(DIST_TAG, DIST_DFLT), "regions", ®ions); + read_dist(env_config(DIST_TAG, DIST_DFLT), "o_oprio", + &o_priority_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "instruct", + &l_instruct_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "smode", &l_smode_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "category", + &l_category_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "rflag", &l_rflag_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "msegmnt", &c_mseg_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "Q13a", &q13a); + read_dist(env_config(DIST_TAG, DIST_DFLT), "Q13b", &q13b); + + return(0); +} + + +main(int ac, char **av) +{ + int i; + FILE *ifp; + char line[LINE_SIZE]; + + prog = av[0]; + flt_scale = (double)1.0; + flags = 0; + d_path = NULL; + process_options(ac, av); + if (flags & VERBOSE) + fprintf(ofp, + "-- TPC %s Parameter Substitution (Version %d.%d.%d build %d)\n", + NAME, VERSION, RELEASE, PATCH, BUILD); + + setup(); + + if (!(flags & DFLT)) /* perturb the RNG */ + { + if (!(flags & SEED)) + rndm = (long)((unsigned)time(NULL) * DSS_PROC); + if (rndm < 0) + rndm += 2147483647; + Seed[0].value = rndm; + for (i=1; i <= QUERIES_PER_SET; i++) + { + Seed[0].value = NextRand(Seed[0].value); + Seed[i].value = Seed[0].value; + } + printf("-- using %ld as a seed to the RNG\n", rndm); + } + else + printf("-- using default substitutions\n"); + + if (flags & INIT) /* init stream with ifile */ + { + ifp = fopen(ifile, "r"); + OPEN_CHECK(ifp, ifile); + while (fgets(line, LINE_SIZE, ifp) != NULL) + fprintf(stdout, "%s", line); + } + + if (snum >= 0) + if (optind < ac) + for (i=optind; i < ac; i++) + { + char qname[10]; + sprintf(qname, "%d", SEQUENCE(snum, atoi(av[i]))); + qsub(qname, flags); + } + else + for (i=1; i <= QUERIES_PER_SET; i++) + { + char qname[10]; + sprintf(qname, "%d", SEQUENCE(snum, i)); + qsub(qname, flags); + } + else + if (optind < ac) + for (i=optind; i < ac; i++) + qsub(av[i], flags); + else + for (i=1; i <= QUERIES_PER_SET; i++) + { + char qname[10]; + sprintf(qname, "%d", i); + qsub(qname, flags); + } + + if (flags & TERMINATE) /* terminate stream with tfile */ + { + ifp = fopen(tfile, "r"); + if (ifp == NULL) + OPEN_CHECK(ifp, tfile); + while (fgets(line, LINE_SIZE, ifp) != NULL) + fprintf(stdout, "%s", line); + } + + return(0); +} + diff --git a/MayBMS-tpch/uncertain-tpch/release.h b/MayBMS-tpch/uncertain-tpch/release.h new file mode 100644 index 0000000..c29043d --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/release.h @@ -0,0 +1,5 @@ +#ORIGINAL TPC-H distribution +#define VERSION 2 +#define RELEASE 6 +#define PATCH 0 +#define BUILD 1 diff --git a/MayBMS-tpch/uncertain-tpch/rnd.c b/MayBMS-tpch/uncertain-tpch/rnd.c new file mode 100644 index 0000000..d35fbd4 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/rnd.c @@ -0,0 +1,238 @@ +/* +* $Id: rnd.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: rnd.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.7 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.6 2005/10/25 17:26:38 jms +* check in integration between microsoft changes and baseline code +* +* Revision 1.5 2005/10/14 23:16:54 jms +* fix for answer set compliance +* +* Revision 1.4 2005/09/23 22:29:35 jms +* fix to assume 64b support in the 32b RNG calls. Should speed generation, and corrects a problem with FK between Customer and Orders +* +* Revision 1.3 2005/03/04 21:43:23 jms +* correct segfult in random() +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.7 2004/04/08 17:34:15 jms +* cleanup SOLARIS/SUN ifdefs; now all use SUN +* +* Revision 1.6 2004/03/26 20:22:56 jms +* correct Solaris header +* +* Revision 1.5 2004/03/02 20:50:50 jms +* MP/RAS porting changes +* +* Revision 1.4 2004/02/18 16:37:33 jms +* add int32_t for solaris +* +* Revision 1.3 2004/02/18 16:26:49 jms +* 32/64 bit changes for overflow handling needed additional changes when ported back to windows +* +* Revision 1.2 2004/02/18 16:17:32 jms +* add 32bit specific changes to UnifInt +* +* Revision 1.1.1.1 2003/08/08 21:50:34 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * RANDOM.C -- Implements Park & Miller's "Minimum Standard" RNG + * + * (Reference: CACM, Oct 1988, pp 1192-1201) + * + * NextRand: Computes next random integer + * UnifInt: Yields an long uniformly distributed between given bounds + * UnifReal: ields a real uniformly distributed between given bounds + * Exponential: Yields a real exponentially distributed with given mean + * + */ + +#include "config.h" +#include +#include +#ifdef LINUX +#include +#endif +#ifdef IBM +#include +#endif +#ifdef SUN +#include +#endif +#ifdef ATT +#include +#endif +#ifdef WIN32 +#define int32_t __int32 +#endif +#include "dss.h" +#include "rnd.h" + +char *env_config PROTO((char *tag, char *dflt)); +void NthElement(DSS_HUGE, DSS_HUGE *); + +void +dss_random(DSS_HUGE *tgt, DSS_HUGE lower, DSS_HUGE upper, long stream) +{ + *tgt = UnifInt(lower, upper, stream); + Seed[stream].usage += 1; + + return; +} + +void +row_start(int t) \ +{ + int i; + for (i=0; i <= MAX_STREAM; i++) + Seed[i].usage = 0 ; + + return; +} + +void +row_stop(int t) \ + { + int i; + + /* need to allow for handling the master and detail together */ + if (t == ORDER_LINE) + t = ORDER; + if (t == PART_PSUPP) + t = PART; + + for (i=0; i <= MAX_STREAM; i++) + if ((Seed[i].table == t) || (Seed[i].table == tdefs[t].child)) + { + if (set_seeds && (Seed[i].usage > Seed[i].boundary)) + { + fprintf(stderr, "\nSEED CHANGE: seed[%d].usage = %d\n", + i, Seed[i].usage); + Seed[i].boundary = Seed[i].usage; + } + else + { + NthElement((Seed[i].boundary - Seed[i].usage), &Seed[i].value); +#ifdef RNG_TEST + Seed[i].nCalls += Seed[i].boundary - Seed[i].usage; +#endif + } + } + return; + } + +void +dump_seeds(int tbl) +{ + int i; + + for (i=0; i <= MAX_STREAM; i++) + if (Seed[i].table == tbl) +#ifdef RNG_TEST + printf("%d(%ld):\t%ld\n", i, Seed[i].nCalls, Seed[i].value); +#else + printf("%d:\t%ld\n", i, Seed[i].value); +#endif + return; +} + +/****************************************************************** + + NextRand: Computes next random integer + +*******************************************************************/ + +/* + * long NextRand( long nSeed ) + */ +DSS_HUGE +NextRand(DSS_HUGE nSeed) + +/* + * nSeed is the previous random number; the returned value is the + * next random number. The routine generates all numbers in the + * range 1 .. nM-1. + */ + +{ + nSeed = (nSeed * 16807) % 2147483647; + return (nSeed); +} + +/****************************************************************** + + UnifInt: Yields an long uniformly distributed between given bounds + +*******************************************************************/ + +/* + * long UnifInt( long nLow, long nHigh, long nStream ) + */ +DSS_HUGE +UnifInt(DSS_HUGE nLow, DSS_HUGE nHigh, long nStream) + +/* + * Returns an integer uniformly distributed between nLow and nHigh, + * including * the endpoints. nStream is the random number stream. + * Stream 0 is used if nStream is not in the range 0..MAX_STREAM. + */ + +{ + double dRange; + DSS_HUGE nTemp, + nRange; + int32_t nLow32 = (int32_t)nLow, + nHigh32 = (int32_t)nHigh; + + if (nStream < 0 || nStream > MAX_STREAM) + nStream = 0; + + if ((nHigh == MAX_LONG) && (nLow == 0)) + { + dRange = DOUBLE_CAST (nHigh32 - nLow32 + 1); + nRange = nHigh32 - nLow32 + 1; + } + else + { + dRange = DOUBLE_CAST (nHigh - nLow + 1); + nRange = nHigh - nLow + 1; + } + + Seed[nStream].value = NextRand(Seed[nStream].value); +#ifdef RNG_TEST + Seed[nStream].nCalls += 1; +#endif + nTemp = (long) (((double) Seed[nStream].value / dM) * (dRange)); + return (nLow + nTemp); +} + + + diff --git a/MayBMS-tpch/uncertain-tpch/rnd.h b/MayBMS-tpch/uncertain-tpch/rnd.h new file mode 100644 index 0000000..25a5637 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/rnd.h @@ -0,0 +1,126 @@ +/* +* $Id: rnd.h,v 1.2 2007/03/21 04:05:15 olteanu Exp $ +* +* Revision History +* =================== +* $Log: rnd.h,v $ +* Revision 1.2 2007/03/21 04:05:15 olteanu +* *** empty log message *** +* +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.4 2006/08/01 04:13:17 jms +* fix parallel generation +* +* Revision 1.3 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/08 21:50:34 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * rnd.h -- header file for use withthe portable random number generator + * provided by Frank Stephens of Unisys + */ + +/* function protypes */ +DSS_HUGE NextRand PROTO((DSS_HUGE)); +DSS_HUGE UnifInt PROTO((DSS_HUGE, DSS_HUGE, long)); + +static long nA = 16807; /* the multiplier */ +static long nM = 2147483647;/* the modulus == 2^31 - 1 */ +static long nQ = 127773; /* the quotient nM / nA */ +static long nR = 2836; /* the remainder nM % nA */ + +double dM = 2147483647.0; + +/* + * macros to control RNG and assure reproducible multi-stream + * runs without the need for seed files. Keep track of invocations of RNG + * and always round-up to a known per-row boundary. + */ +/* + * preferred solution, but not initializing correctly + */ +#define VSTR_MAX(len) (long)(len / 5 + (len % 5 == 0)?0:1 + 1) +seed_t Seed[MAX_STREAM + 1] = +{ + {PART, 1, 0, 1}, /* P_MFG_SD 0 */ + {PART, 46831694, 0, 1}, /* P_BRND_SD 1 */ + {PART, 1841581359, 0, 1}, /* P_TYPE_SD 2 */ + {PART, 1193163244, 0, 1}, /* P_SIZE_SD 3 */ + {PART, 727633698, 0, 1}, /* P_CNTR_SD 4 */ + {NONE, 933588178, 0, 1}, /* text pregeneration 5 */ + {PART, 804159733, 0, 2}, /* P_CMNT_SD 6 */ + {PSUPP, 1671059989, 0, SUPP_PER_PART}, /* PS_QTY_SD 7 */ + {PSUPP, 1051288424, 0, SUPP_PER_PART}, /* PS_SCST_SD 8 */ + {PSUPP, 1961692154, 0, SUPP_PER_PART * 2}, /* PS_CMNT_SD 9 */ + {ORDER, 1227283347, 0, 1}, /* O_SUPP_SD 10 */ + {ORDER, 1171034773, 0, 1}, /* O_CLRK_SD 11 */ + {ORDER, 276090261, 0, 2}, /* O_CMNT_SD 12 */ + {ORDER, 1066728069, 0, 1}, /* O_ODATE_SD 13 */ + {LINE, 209208115, 0, O_LCNT_MAX}, /* L_QTY_SD 14 */ + {LINE, 554590007, 0, O_LCNT_MAX}, /* L_DCNT_SD 15 */ + {LINE, 721958466, 0, O_LCNT_MAX}, /* L_TAX_SD 16 */ + {LINE, 1371272478, 0, O_LCNT_MAX}, /* L_SHIP_SD 17 */ + {LINE, 675466456, 0, O_LCNT_MAX}, /* L_SMODE_SD 18 */ + {LINE, 1808217256, 0, O_LCNT_MAX}, /* L_PKEY_SD 19 */ + {LINE, 2095021727, 0, O_LCNT_MAX}, /* L_SKEY_SD 20 */ + {LINE, 1769349045, 0, O_LCNT_MAX}, /* L_SDTE_SD 21 */ + {LINE, 904914315, 0, O_LCNT_MAX}, /* L_CDTE_SD 22 */ + {LINE, 373135028, 0, O_LCNT_MAX}, /* L_RDTE_SD 23 */ + {LINE, 717419739, 0, O_LCNT_MAX}, /* L_RFLG_SD 24 */ + {LINE, 1095462486, 0, O_LCNT_MAX * 2}, /* L_CMNT_SD 25 */ + {CUST, 881155353, 0, 9}, /* C_ADDR_SD 26 */ + {CUST, 1489529863, 0, 1}, /* C_NTRG_SD 27 */ + {CUST, 1521138112, 0, 3}, /* C_PHNE_SD 28 */ + {CUST, 298370230, 0, 1}, /* C_ABAL_SD 29 */ + {CUST, 1140279430, 0, 1}, /* C_MSEG_SD 30 */ + {CUST, 1335826707, 0, 2}, /* C_CMNT_SD 31 */ + {SUPP, 706178559, 0, 9}, /* S_ADDR_SD 32 */ + {SUPP, 110356601, 0, 1}, /* S_NTRG_SD 33 */ + {SUPP, 884434366, 0, 3}, /* S_PHNE_SD 34 */ + {SUPP, 962338209, 0, 1}, /* S_ABAL_SD 35 */ + {SUPP, 1341315363, 0, 2}, /* S_CMNT_SD 36 */ + {PART, 709314158, 0, 92}, /* P_NAME_SD 37 */ + {ORDER, 591449447, 0, 1}, /* O_PRIO_SD 38 */ + {LINE, 431918286, 0, 1}, /* HVAR_SD 39 */ + {ORDER, 851767375, 0, 1}, /* O_CKEY_SD 40 */ + {NATION, 606179079, 0, 2}, /* N_CMNT_SD 41 */ + {REGION, 1500869201, 0, 2}, /* R_CMNT_SD 42 */ + {ORDER, 1434868289, 0, 1}, /* O_LCNT_SD 43 */ + {SUPP, 263032577, 0, 1}, /* BBB offset 44 */ + {SUPP, 753643799, 0, 1}, /* BBB type 45 */ + {SUPP, 202794285, 0, 1}, /* BBB comment 46 */ + {SUPP, 715851524, 0, 1}, /* BBB junk 47 */ + {SUPP, 715851524, 0, 1}, /* WSD_PLACEHOLDERS 48 */ + {SUPP, 715851524, 0, 1}, /* SUPP_PLACEHOLDERS 49 */ + {SUPP, 715851524, 0, 1}, /* PART_PLACEHOLDERS 50 */ + {SUPP, 715851524, 0, 1}, /* ORDERS_PLACEHOLDERS 51 */ + {SUPP, 715851524, 0, 1}, /* LINE_PLACEHOLDERS 52 */ + {SUPP, 715851524, 0, 1}, /* NATION_PLACEHOLDERS 53 */ + {SUPP, 715851524, 0, 1}, /* REGION_PLACEHOLDERS 54 */ + {SUPP, 715851524, 0, 1}, /* CUST_PLACEHOLDERS 55 */ + {SUPP, 715851524, 0, 1} /* PSUPP_PLACEHOLDERS 56 */ +}; diff --git a/MayBMS-tpch/uncertain-tpch/rng64.c b/MayBMS-tpch/uncertain-tpch/rng64.c new file mode 100644 index 0000000..cb8cd16 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/rng64.c @@ -0,0 +1,140 @@ +/* +* $Id: rng64.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* This software contains proprietary and confidential information of Gradient +* Systems Inc. By accepting transfer of this copy, Recipient agrees +* to retain this software in confidence, to prevent disclosure to others, and +* to make no use of this software other than that for which it was delivered. +* This is an unpublished copyright work Gradient Systems, Inc. Execpt as +* permitted by federal law, 17 USC 117, copying is strictly prohibited. +* +* Gradient Systems Inc. CONFIDENTIAL - (Gradient Systems Inc. Confidential +* when combined with the aggregated modules for this product) +* OBJECT CODE ONLY SOURCE MATERIALS +* (C) COPYRIGHT Gradient Systems Inc. 2003 +* +* All Rights Reserved +* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF GRADIENT SYSTEMS, INC. +* The copyright notice above does not evidence any +* actual or intended publication of such source code. +* +* Revision History +* =================== +* $Log: rng64.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.6 2006/04/26 23:20:05 jms +* Data type clenaup for qgen +* +* Revision 1.5 2006/03/08 21:25:27 jms +* change to RNG64 to address overflow/underflow issues +* +* Revision 1.4 2005/10/25 17:26:38 jms +* check in integration between microsoft changes and baseline code +* +* Revision 1.3 2005/03/04 19:48:39 jms +* Changes from Doug Johnson to address very large scale factors +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.2 2004/02/18 16:45:30 jms +* remove C++ style comments for AIX compiler +* +* Revision 1.1.1.1 2003/08/08 21:57:34 jms +* recreation after CVS crash +* +* Revision 1.1 2003/08/08 21:57:34 jms +* first integration of rng64 for o_custkey and l_partkey +* +*/ +#include "config.h" +#include "dss.h" +#include +#include +#include "rng64.h" +extern double dM; + +extern seed_t Seed[]; + +void +dss_random64(DSS_HUGE *tgt, DSS_HUGE nLow, DSS_HUGE nHigh, long nStream) +{ + DSS_HUGE nTemp; + + if (nStream < 0 || nStream > MAX_STREAM) + nStream = 0; + + if (nLow > nHigh) + { + nTemp = nLow; + nLow = nHigh; + nHigh = nTemp; + } + + Seed[nStream].value = NextRand64(Seed[nStream].value); + nTemp = Seed[nStream].value; + if (nTemp < 0) + nTemp = -nTemp; + nTemp %= (nHigh - nLow + 1); + *tgt = nLow + nTemp; + Seed[nStream].usage += 1; + + return; +} + +DSS_HUGE +NextRand64(DSS_HUGE nSeed){ + + DSS_HUGE a = (unsigned DSS_HUGE) RNG_A; + DSS_HUGE c = (unsigned DSS_HUGE) RNG_C; + nSeed = (nSeed * a + c); /* implicitely truncated to 64bits */ + + return (nSeed); +} + +DSS_HUGE AdvanceRand64( DSS_HUGE nSeed, + DSS_HUGE nCount) { + unsigned DSS_HUGE a = RNG_A ; + unsigned DSS_HUGE c = RNG_C ; + int nBit; + unsigned DSS_HUGE Apow=a, Dsum=c; + + /* if nothing to do, do nothing ! */ + if( nCount == 0 ) return nSeed; + + /* Recursively compute X(n) = A * X(n-1) + C */ + /* */ + /* explicitely: */ + /* X(n) = A^n * X(0) + { A^(n-1) + A^(n-2) + ... A + 1 } * C */ + /* */ + /* we write this as: */ + /* X(n) = Apow(n) * X(0) + Dsum(n) * C */ + /* */ + /* we use the following relations: */ + /* Apow(n) = A^(n%2)*Apow(n/2)*Apow(n/2) */ + /* Dsum(n) = (n%2)*Apow(n/2)*Apow(n/2) + (Apow(n/2) + 1) * Dsum(n/2) */ + /* */ + + /* first get the highest non-zero bit */ + for( nBit = 0; (nCount >> nBit) != RNG_C ; nBit ++){} + + /* go 1 bit at the time */ + while( --nBit >= 0 ) { + Dsum *= (Apow + 1); + Apow = Apow * Apow; + if( ((nCount >> nBit) % 2) == 1 ) { /* odd value */ + Dsum += Apow; + Apow *= a; + } + } + nSeed = nSeed * Apow + Dsum * c; + return nSeed; +} diff --git a/MayBMS-tpch/uncertain-tpch/rng64.h b/MayBMS-tpch/uncertain-tpch/rng64.h new file mode 100644 index 0000000..960c561 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/rng64.h @@ -0,0 +1,29 @@ +/* +* $Id: rng64.h,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: rng64.h,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/08 21:57:34 jms +* recreation after CVS crash +* +* Revision 1.1 2003/08/08 21:57:34 jms +* first integration of rng64 for o_custkey and l_partkey +* +* +*/ +DSS_HUGE AdvanceRand64( DSS_HUGE nSeed, DSS_HUGE nCount); +void dss_random64(DSS_HUGE *tgt, DSS_HUGE nLow, DSS_HUGE nHigh, long stream); +DSS_HUGE NextRand64(DSS_HUGE nSeed); diff --git a/MayBMS-tpch/uncertain-tpch/shared.h b/MayBMS-tpch/uncertain-tpch/shared.h new file mode 100644 index 0000000..3a0edaf --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/shared.h @@ -0,0 +1,75 @@ +/* +* $Id: shared.h,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: shared.h,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +#define N_CMNT_LEN 72 +#define N_CMNT_MAX 152 +#define R_CMNT_LEN 72 +#define R_CMNT_MAX 152 +#define MONEY_SCL 0.01 +#define V_STR_HGH 1.6 +#define P_NAME_LEN 55 +#define P_MFG_LEN 25 +#define P_BRND_LEN 10 +#define P_TYPE_LEN 25 +#define P_CNTR_LEN 10 +#define P_CMNT_LEN 14 +#define P_CMNT_MAX 23 +#define S_NAME_LEN 25 +#define S_ADDR_LEN 25 +#define S_ADDR_MAX 40 +#define S_CMNT_LEN 63 +#define S_CMNT_MAX 101 +#define PS_CMNT_LEN 124 +#define PS_CMNT_MAX 199 +#define C_NAME_LEN 18 +#define C_ADDR_LEN 25 +#define C_ADDR_MAX 40 +#define C_MSEG_LEN 10 +#define C_CMNT_LEN 73 +#define C_CMNT_MAX 117 +#define O_OPRIO_LEN 15 +#define O_CLRK_LEN 15 +#define O_CMNT_LEN 49 +#define O_CMNT_MAX 79 +#define L_CMNT_LEN 27 +#define L_CMNT_MAX 44 +#define L_INST_LEN 25 +#define L_SMODE_LEN 10 +#define T_ALPHA_LEN 10 +#define DATE_LEN 13 /* long enough to hold either date format */ +#define NATION_LEN 25 +#define REGION_LEN 25 +#define PHONE_LEN 15 +#define MAXAGG_LEN 20 /* max component length for a agg str */ +#define P_CMNT_SD 6 +#define PS_CMNT_SD 9 +#define O_CMNT_SD 12 +#define C_ADDR_SD 26 +#define C_CMNT_SD 31 +#define S_ADDR_SD 32 +#define S_CMNT_SD 36 +#define L_CMNT_SD 25 + diff --git a/MayBMS-tpch/uncertain-tpch/speed_seed.c b/MayBMS-tpch/uncertain-tpch/speed_seed.c new file mode 100644 index 0000000..1000395 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/speed_seed.c @@ -0,0 +1,260 @@ +/* +* $Id: speed_seed.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: speed_seed.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.8 2006/08/01 04:13:17 jms +* fix parallel generation +* +* Revision 1.7 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.6 2006/05/16 16:26:51 jms +* remove calls to FAKE_V_STR +* +* Revision 1.5 2006/04/26 23:14:28 jms +* Declaraion cleanup of fakeVStr() +* +* Revision 1.4 2006/04/26 23:01:10 jms +* address update generation problems +* +* Revision 1.3 2005/10/25 17:26:38 jms +* check in integration between microsoft changes and baseline code +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.2 2004/01/22 03:54:12 jms +* 64 bit support changes for customer address +* +* Revision 1.1.1.1 2003/08/08 22:37:36 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 22:37:36 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +#include +#include +#include "dss.h" +#include "rng64.h" +#include "dss.h" + +/* _tal long RandSeed = "Random^SeedFromTimestamp" (void); */ + +#define ADVANCE_STREAM(stream_id, num_calls) \ + advanceStream(stream_id, num_calls, 0) +#define ADVANCE_STREAM64(stream_id, num_calls) \ + advanceStream(stream_id, num_calls, 1) +#define MAX_COLOR 92 +long name_bits[MAX_COLOR / BITS_PER_LONG]; +extern seed_t Seed[]; +void fakeVStr(int nAvg, long nSeed, DSS_HUGE nCount); +void NthElement (DSS_HUGE N, DSS_HUGE *StartSeed); + + +void +advanceStream(int nStream, int nCalls, int bUse64Bit) +{ + if (bUse64Bit) + Seed[nStream].value = AdvanceRand64(Seed[nStream].value, nCalls); + else + NthElement(nCalls, &Seed[nStream].value); + +#ifdef RNG_TEST + Seed[nStream].nCalls += nCalls; +#endif + + return; +} + +/* WARNING! This routine assumes the existence of 64-bit */ +/* integers. The notation used here- "HUGE" is *not* ANSI standard. */ +/* Hopefully, you have this extension as well. If not, use whatever */ +/* nonstandard trick you need to in order to get 64 bit integers. */ +/* The book says that this will work if MAXINT for the type you choose */ +/* is at least 2**46 - 1, so 64 bits is more than you *really* need */ + +static DSS_HUGE Multiplier = 16807; /* or whatever nonstandard */ +static DSS_HUGE Modulus = 2147483647; /* trick you use to get 64 bit int */ + +/* Advances value of Seed after N applications of the random number generator + with multiplier Mult and given Modulus. + NthElement(Seed[],count); + + Theory: We are using a generator of the form + X_n = [Mult * X_(n-1)] mod Modulus. It turns out that + X_n = [(Mult ** n) X_0] mod Modulus. + This can be computed using a divide-and-conquer technique, see + the code below. + + In words, this means that if you want the value of the Seed after n + applications of the generator, you multiply the initial value of the + Seed by the "super multiplier" which is the basic multiplier raised + to the nth power, and then take mod Modulus. +*/ + +/* Nth Element of sequence starting with StartSeed */ +void NthElement (DSS_HUGE N, DSS_HUGE *StartSeed) + { + DSS_HUGE Z; + DSS_HUGE Mult; + static int ln=-1; + int i; + + if ((verbose > 0) && ++ln % 1000 == 0) + { + i = ln % LN_CNT; + fprintf(stderr, "%c\b", lnoise[i]); + } + Mult = Multiplier; + Z = (DSS_HUGE) *StartSeed; + while (N > 0 ) + { + if (N % 2 != 0) /* testing for oddness, this seems portable */ + Z = (Mult * Z) % Modulus; + N = N / 2; /* integer division, truncates */ + Mult = (Mult * Mult) % Modulus; + } + *StartSeed = Z; + + return; + } + + +/* updates Seed[column] using the a_rnd algorithm */ +void +fake_a_rnd(int min, int max, int column) +{ + DSS_HUGE len; + DSS_HUGE itcount; + + RANDOM(len, min, max, column); + if (len % 5L == 0) + itcount = len/5; + else + itcount = len/5 + 1L; + NthElement(itcount, &Seed[column].usage); +#ifdef RNG_TEST + Seed[column].nCalls += itcount; +#endif + return; +} + + +long +sd_part(int child, DSS_HUGE skip_count) +{ + int i; + + for (i=P_MFG_SD; i<= P_CNTR_SD; i++) + ADVANCE_STREAM(i, skip_count); + + ADVANCE_STREAM(P_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(P_NAME_SD, skip_count * 92); + + return(0L); +} + +long +sd_line(int child, DSS_HUGE skip_count) + { + int i,j; + + for (j=0; j < O_LCNT_MAX; j++) + { + for (i=L_QTY_SD; i<= L_RFLG_SD; i++) + if (scale >= 30000 && i == L_PKEY_SD) + ADVANCE_STREAM64(i, skip_count); + else + ADVANCE_STREAM(i, skip_count); + ADVANCE_STREAM(L_CMNT_SD, skip_count * 2); + } + + /* need to special case this as the link between master and detail */ + if (child == 1) + { + ADVANCE_STREAM(O_ODATE_SD, skip_count); + ADVANCE_STREAM(O_LCNT_SD, skip_count); + } + + return(0L); + } + +long +sd_order(int child, DSS_HUGE skip_count) +{ + ADVANCE_STREAM(O_LCNT_SD, skip_count); + if (scale >= 30000) + ADVANCE_STREAM64(O_CKEY_SD, skip_count); + else + ADVANCE_STREAM(O_CKEY_SD, skip_count); + ADVANCE_STREAM(O_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(O_SUPP_SD, skip_count); + ADVANCE_STREAM(O_CLRK_SD, skip_count); + ADVANCE_STREAM(O_PRIO_SD, skip_count); + ADVANCE_STREAM(O_ODATE_SD, skip_count); + + return (0L); +} + +long +sd_psupp(int child, DSS_HUGE skip_count) + { + int j; + + for (j=0; j < SUPP_PER_PART; j++) + { + ADVANCE_STREAM(PS_QTY_SD, skip_count); + ADVANCE_STREAM(PS_SCST_SD, skip_count); + ADVANCE_STREAM(PS_CMNT_SD, skip_count * 2); + } + + return(0L); + } + +long +sd_cust(int child, DSS_HUGE skip_count) +{ + + ADVANCE_STREAM(C_ADDR_SD, skip_count * 9); + ADVANCE_STREAM(C_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(C_NTRG_SD, skip_count); + ADVANCE_STREAM(C_PHNE_SD, 3L * skip_count); + ADVANCE_STREAM(C_ABAL_SD, skip_count); + ADVANCE_STREAM(C_MSEG_SD, skip_count); + return(0L); +} + +long +sd_supp(int child, DSS_HUGE skip_count) +{ + ADVANCE_STREAM(S_NTRG_SD, skip_count); + ADVANCE_STREAM(S_PHNE_SD, 3L * skip_count); + ADVANCE_STREAM(S_ABAL_SD, skip_count); + ADVANCE_STREAM(S_ADDR_SD, skip_count * 9); + ADVANCE_STREAM(S_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(BBB_CMNT_SD, skip_count); + ADVANCE_STREAM(BBB_JNK_SD, skip_count); + ADVANCE_STREAM(BBB_OFFSET_SD, skip_count); + ADVANCE_STREAM(BBB_TYPE_SD, skip_count); /* avoid one trudge */ + + return(0L); +} diff --git a/MayBMS-tpch/uncertain-tpch/text.c b/MayBMS-tpch/uncertain-tpch/text.c new file mode 100644 index 0000000..2f61e66 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/text.c @@ -0,0 +1,392 @@ +/* +* $Id: text.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: text.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.6 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.5 2006/05/18 23:50:00 jms +* commit text generation change with larger buffer +* +* Revision 1.4 2006/05/16 16:26:51 jms +* remove calls to FAKE_V_STR +* +* Revision 1.3 2006/05/16 15:55:58 jms +* first cut to Meikel +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * text.c --- pseaudo text generator for use in DBGEN 2.0 + * + * Defined Routines: + * dbg_text() -- select and translate a sentance form + */ + +#ifdef TEXT_TEST +#define DECLARER +#endif /* TEST */ + +#include "config.h" +#include +#if (defined(_POSIX_)||!defined(WIN32)) /* Change for Windows NT */ +#include +#include +#endif /* WIN32 */ +#include /* */ +#include +#include +#include +#include +#include +#include +#ifdef HP +#include +#endif +#if (defined(WIN32)&&!defined(_POSIX_)) +#include +#pragma warning(disable:4201) +#pragma warning(disable:4214) +#pragma warning(disable:4514) +#define WIN32_LEAN_AND_MEAN +#define NOATOM +#define NOGDICAPMASKS +#define NOMETAFILE +#define NOMINMAX +#define NOMSG +#define NOOPENFILE +#define NORASTEROPS +#define NOSCROLL +#define NOSOUND +#define NOSYSMETRICS +#define NOTEXTMETRIC +#define NOWH +#define NOCOMM +#define NOKANJI +#define NOMCX +#include +#pragma warning(default:4201) +#pragma warning(default:4214) +#endif + +#define TEXT_POOL_SIZE (300 * 1024 * 1024) /* 300MiB */ + +#include "dss.h" +#include "dsstypes.h" + +/* + * txt_vp() -- + * generate a verb phrase by + * 1) selecting a verb phrase form + * 2) parsing it to select parts of speech + * 3) selecting appropriate words + * 4) adding punctuation as required + * + * Returns: length of generated phrase + * Called By: txt_sentence() + * Calls: pick_str() + */ +static int +txt_vp(char *dest, int sd) +{ + char syntax[MAX_GRAMMAR_LEN + 1], + *cptr, + *parse_target; + distribution *src; + int i, + res = 0; + + + pick_str(&vp, sd, &syntax[0]); + parse_target = syntax; + while ((cptr = strtok(parse_target, " ")) != NULL) + { + src = NULL; + switch(*cptr) + { + case 'D': + src = &adverbs; + break; + case 'V': + src = &verbs; + break; + case 'X': + src = &auxillaries; + break; + } /* end of POS switch statement */ + i = pick_str(src, sd, dest); + i = strlen(DIST_MEMBER(src, i)); + dest += i; + res += i; + if (*(++cptr)) /* miscelaneous fillagree, like punctuation */ + { + dest += 1; + res += 1; + *dest = *cptr; + } + *dest = ' '; + dest++; + res++; + parse_target = NULL; + } /* end of while loop */ + + return(res); +} + +/* + * txt_np() -- + * generate a noun phrase by + * 1) selecting a noun phrase form + * 2) parsing it to select parts of speech + * 3) selecting appropriate words + * 4) adding punctuation as required + * + * Returns: length of generated phrase + * Called By: txt_sentence() + * Calls: pick_str(), + */ +static int +txt_np(char *dest, int sd) +{ + char syntax[MAX_GRAMMAR_LEN + 1], + *cptr, + *parse_target; + distribution *src; + int i, + res = 0; + + + pick_str(&np, sd, &syntax[0]); + parse_target = syntax; + while ((cptr = strtok(parse_target, " ")) != NULL) + { + src = NULL; + switch(*cptr) + { + case 'A': + src = &articles; + break; + case 'J': + src = &adjectives; + break; + case 'D': + src = &adverbs; + break; + case 'N': + src = &nouns; + break; + } /* end of POS switch statement */ + i = pick_str(src, sd, dest); + i = strlen(DIST_MEMBER(src, i)); + dest += i; + res += i; + if (*(++cptr)) /* miscelaneous fillagree, like punctuation */ + { + *dest = *cptr; + dest += 1; + res += 1; + } + *dest = ' '; + dest++; + res++; + parse_target = NULL; + } /* end of while loop */ + + return(res); +} + +/* + * txt_sentence() -- + * generate a sentence by + * 1) selecting a sentence form + * 2) parsing it to select parts of speech or phrase types + * 3) selecting appropriate words + * 4) adding punctuation as required + * + * Returns: length of generated sentence + * Called By: dbg_text() + * Calls: pick_str(), txt_np(), txt_vp() + */ +static int +txt_sentence(char *dest, int sd) +{ + char syntax[MAX_GRAMMAR_LEN + 1], + *cptr; + int i, + res = 0, + len = 0; + + + pick_str(&grammar, sd, syntax); + cptr = syntax; + +next_token: /* I hate goto's, but can't seem to have parent and child use strtok() */ + while (*cptr && *cptr == ' ') + cptr++; + if (*cptr == '\0') + goto done; + switch(*cptr) + { + case 'V': + len = txt_vp(dest, sd); + break; + case 'N': + len = txt_np(dest, sd); + break; + case 'P': + i = pick_str(&prepositions, sd, dest); + len = strlen(DIST_MEMBER(&prepositions, i)); + strcpy((dest + len), " the "); + len += 5; + len += txt_np(dest + len, sd); + break; + case 'T': + i = pick_str(&terminators, sd, --dest); /*terminators should abut previous word */ + len = strlen(DIST_MEMBER(&terminators, i)); + break; + } /* end of POS switch statement */ + dest += len; + res += len; + cptr++; + if (*cptr && *cptr != ' ') /* miscelaneous fillagree, like punctuation */ + { + dest += 1; + res += 1; + *dest = *cptr; + } + goto next_token; +done: + *dest = '\0'; + return(--res); +} + +/* + * dbg_text() -- + * produce ELIZA-like text of random, bounded length, truncating the last + * generated sentence as required + */ +void +dbg_text(char *tgt, int min, int max, int sd) +{ + DSS_HUGE hgLength = 0, + hgOffset, + wordlen = 0, + s_len, + needed; + char sentence[MAX_SENT_LEN + 1], + *cp; + static char szTextPool[TEXT_POOL_SIZE + 1]; + static int bInit = 0; + int nLifeNoise = 0; + + if (!bInit) + { + cp = &szTextPool[0]; + if (verbose) + fprintf(stderr, "\nPreloading text ... "); + + while (wordlen < TEXT_POOL_SIZE) + { + if (verbose && (wordlen > nLifeNoise)) + { + nLifeNoise += 200000; + fprintf(stderr, "%3.0f%%\b\b\b\b", (100.0 * wordlen)/TEXT_POOL_SIZE); + } + + s_len = txt_sentence(sentence, 5); + if ( s_len < 0) + INTERNAL_ERROR("Bad sentence formation"); + needed = TEXT_POOL_SIZE - wordlen; + if (needed >= (s_len + 1)) /* need the entire sentence */ + { + strcpy(cp, sentence); + cp += s_len; + wordlen += s_len + 1; + *(cp++) = ' '; + } + else /* chop the new sentence off to match the length target */ + { + sentence[needed] = '\0'; + strcpy(cp, sentence); + wordlen += needed; + cp += needed; + } + } + *cp = '\0'; + bInit = 1; + if (verbose) + fprintf(stderr, "\n"); + } + + RANDOM(hgOffset, 0, TEXT_POOL_SIZE - max, sd); + RANDOM(hgLength, min, max, sd); + strncpy(&tgt[0], &szTextPool[hgOffset], (int)hgLength); + tgt[hgLength] = '\0'; + + return; +} + +#ifdef TEXT_TEST +tdef tdefs[1] = { NULL }; +distribution nouns, + verbs, + adjectives, + adverbs, + auxillaries, + terminators, + articles, + prepositions, + grammar, + np, + vp; + +main() +{ + char prattle[401]; + + verbose = 1; + + read_dist (env_config (DIST_TAG, DIST_DFLT), "nouns", &nouns); + read_dist (env_config (DIST_TAG, DIST_DFLT), "verbs", &verbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adjectives", &adjectives); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adverbs", &adverbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "auxillaries", &auxillaries); + read_dist (env_config (DIST_TAG, DIST_DFLT), "terminators", &terminators); + read_dist (env_config (DIST_TAG, DIST_DFLT), "articles", &articles); + read_dist (env_config (DIST_TAG, DIST_DFLT), "prepositions", &prepositions); + read_dist (env_config (DIST_TAG, DIST_DFLT), "grammar", &grammar); + read_dist (env_config (DIST_TAG, DIST_DFLT), "np", &np); + read_dist (env_config (DIST_TAG, DIST_DFLT), "vp", &vp); + + while (1) + { + dbg_text(&prattle[0], 300, 400, 0); + printf("<%s>\n", prattle); + } + + return(0); +} +#endif /* TEST */ diff --git a/MayBMS-tpch/uncertain-tpch/tpcd.h b/MayBMS-tpch/uncertain-tpch/tpcd.h new file mode 100644 index 0000000..03c2dae --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/tpcd.h @@ -0,0 +1,125 @@ +/* +* $Id: tpcd.h,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: tpcd.h,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/***************************************************************** + * Title: tpcd.h for TPC D + ***************************************************************** + */ +#define DFLT 0x0001 +#define OUTPUT 0x0002 +#define EXPLAIN 0x0004 +#define DBASE 0x0008 +#define VERBOSE 0x0010 +#define TIMING 0x0020 +#define LOG 0x0040 +#define QUERY 0x0080 +#define REFRESH 0x0100 +#define ANSI 0x0200 +#define SEED 0x0400 +#define COMMENT 0x0800 +#define INIT 0x1000 +#define TERMINATE 0x2000 +#define DFLT_NUM 0x4000 + +/* + * general defines + */ +#define VTAG ':' /* flags a variable substitution */ +#define ofp stdout /* make the routine a filter */ +#define QDIR_TAG "DSS_QUERY" /* variable to point to queries */ +#define QDIR_DFLT "." /* and its default */ + +/* + * database portability defines + */ +#ifdef DB2 +#define GEN_QUERY_PLAN "SET CURRENT EXPLAIN SNAPSHOT ON;" +#define START_TRAN "" +#define END_TRAN "COMMIT WORK;" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "--#SET ROWS_FETCH %d\n" +#define SET_DBASE "CONNECT TO %s ;\n" +#endif + +#ifdef INFORMIX +#define GEN_QUERY_PLAN "SET EXPLAIN ON;" +#define START_TRAN "BEGIN WORK;" +#define END_TRAN "COMMIT WORK;" +#define SET_OUTPUT "OUTPUT TO " +#define SET_ROWCOUNT "FIRST %d" +#define SET_DBASE "database %s ;\n" +#endif + +#ifdef SQLSERVER +#define GEN_QUERY_PLAN "set showplan on\nset noexec on\ngo\n" +#define START_TRAN "begin transaction\ngo\n" +#define END_TRAN "commit transaction\ngo\n" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "set rowcount %d\ngo\n\n" +#define SET_DBASE "use %s\ngo\n" +#endif + +#ifdef SYBASE +#define GEN_QUERY_PLAN "set showplan on\nset noexec on\ngo\n" +#define START_TRAN "begin transaction\ngo\n" +#define END_TRAN "commit transaction\ngo\n" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "set rowcount %d\ngo\n\n" +#define SET_DBASE "use %s\ngo\n" +#endif + +#ifdef TDAT +#define GEN_QUERY_PLAN "EXPLAIN" +#define START_TRAN "BEGIN TRANSACTION" +#define END_TRAN "END TRANSACTION" +#define SET_OUTPUT ".SET FORMAT OFF\n.EXPORT REPORT file=" +#define SET_ROWCOUNT ".SET RETCANCEL ON\n.SET RETLIMIT %d\n" +#define SET_DBASE ".LOGON %s\n" +#endif + +#define MAX_VARS 8 /* max number of host vars in any query */ +#define QLEN_MAX 2048 /* max length of any query */ +#define QUERIES_PER_SET 22 +#define MAX_PIDS 50 + +EXTERN int flags; +EXTERN int s_cnt; +EXTERN char *osuff; +EXTERN int stream; +EXTERN char *lfile; +EXTERN char *ifile; +EXTERN char *tfile; + +#define MAX_PERMUTE 41 +#ifdef DECLARER +int rowcnt_dflt[QUERIES_PER_SET + 1] = + {-1,-1,100,10,-1,-1,-1,-1,-1,-1,20,-1,-1,-1,-1,-1,-1,-1,100,-1,-1,100,-1}; +int rowcnt; +#define SEQUENCE(stream, query) permutation[stream % MAX_PERMUTE][query - 1] +#else +extern int rowcnt_dflt[]; +extern int rowcnt; +#endif diff --git a/MayBMS-tpch/uncertain-tpch/tpch2.6.0.pdf b/MayBMS-tpch/uncertain-tpch/tpch2.6.0.pdf new file mode 100644 index 0000000..752bd70 Binary files /dev/null and b/MayBMS-tpch/uncertain-tpch/tpch2.6.0.pdf differ diff --git a/MayBMS-tpch/uncertain-tpch/update_release.sh b/MayBMS-tpch/uncertain-tpch/update_release.sh new file mode 100755 index 0000000..12bc22a --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/update_release.sh @@ -0,0 +1,23 @@ +#!/bin/sh +PATH=.:$PATH;export PATH +if [ -f UPDATE_RELEASE_NUMBER ] +then +cvs update +if [ ! -f release.h ] +then +BUILD=1 +else +BUILD=`grep BUILD release.h |cut -f3 -d' '` +BUILD=`expr $BUILD + 1` +fi +cat > release.h << __EOF__ +/* + * \$Id: update_release.sh,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ + */ +#define VERSION $1 +#define RELEASE $2 +#define PATCH $3 +#define BUILD $BUILD +__EOF__ +cvs commit -m "update release number" release.h +fi diff --git a/MayBMS-tpch/uncertain-tpch/varsub.c b/MayBMS-tpch/uncertain-tpch/varsub.c new file mode 100644 index 0000000..48731c2 --- /dev/null +++ b/MayBMS-tpch/uncertain-tpch/varsub.c @@ -0,0 +1,370 @@ +/* +* $Id: varsub.c,v 1.1.1.1 2007/03/14 15:01:09 olteanu Exp $ +* +* Revision History +* =================== +* $Log: varsub.c,v $ +* Revision 1.1.1.1 2007/03/14 15:01:09 olteanu +* +* +* Revision 1.1.1.1 2007/03/01 18:11:56 olteanu +* +* +* Revision 1.7 2006/05/31 22:25:21 jms +* Rework UnifInt calls in varsub to handle lack of PROTO defn in windows +* +* Revision 1.6 2006/05/25 22:30:44 jms +* qgen porting for 32b/64b +* +* Revision 1.5 2006/05/25 16:08:52 jms +* Rework UnifInt call for query 3 +* +* Revision 1.4 2006/04/26 23:20:05 jms +* Data type clenaup for qgen +* +* Revision 1.3 2005/11/03 14:50:44 jms +* solaris porting changes +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +#include +#ifndef _POSIX_SOURCE +#include +#endif /* POSIX_SOURCE */ +#if (defined(_POSIX_)||!defined(WIN32)) +#include +#endif /* WIN32 */ +#include +#include "config.h" +#include "dss.h" +#include "tpcd.h" +#ifdef ADHOC +#include "adhoc.h" +extern adhoc_t adhocs[]; +#endif /* ADHOC */ + +#define MAX_PARAM 10 /* maximum number of parameter substitutions in a query */ + +extern long Seed[]; +extern char **asc_date; +extern double flt_scale; +extern distribution q13a, q13b; +long *permute(long *set, int cnt, long stream); + +long brands[25] = {11,12,13,14,15,21,22,23,24,25,31,32,33,34,35, + 41,42,43,44,45,51,52,53,54,55}; +long sizes[50] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, + 41,42,43,44,45,46,47,48,49,50}; +long ccode[25] = {10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34}; +char *defaults[24][11] = +{ + {"90", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 1 */ + {"15", "BRASS", "EUROPE", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 2 */ + {"BUILDING", "1995-03-15", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 3 */ + {"1993-07-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 4 */ + {"ASIA", "1994-01-01", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 5 */ + {"1994-01-01", ".06", "24", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 6 */ + {"FRANCE", "GERMANY", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 7 */ + {"BRAZIL", "AMERICA", "ECONOMY ANODIZED STEEL", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL},/* 8 */ + {"green", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 9 */ + {"1993-10-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 10 */ + {"GERMANY", "0.0001", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 11 */ + {"MAIL", "SHIP", "1994-01-01", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 12 */ + {"special", "requests", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 13 */ + {"1995-09-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 14 */ + {"1996-01-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 15 */ + {"Brand#45", "MEDIUM POLISHED", "49", + "14","23","45","19","3","36","9", NULL}, /* 16 */ + {"Brand#23", "MED BOX", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 17 */ + {"300", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 18 */ + {"Brand#12", "Brand#23", "Brand#34", "1", "10", "20", NULL, NULL, NULL, NULL, NULL}, /* 19 */ + {"forest", "1994-01-01", "CANADA", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 20 */ + {"SAUDI ARABIA", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 21 */ + {"13","31","23", "29", "30", "18", "17", NULL, NULL, NULL, NULL}, /* 22 */ + {NULL,NULL,NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* UF1 */ + {NULL,NULL,NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* UF2 */ +}; +void +varsub(int qnum, int vnum, int flags) +{ + static char param[11][128]; + static char formats[23][128]; + static FILE *lfp = NULL; + static int bInit = 0; + long *lptr; + char *ptr; + int i = 0; + DSS_HUGE tmp_date, tmp1, tmp2; + + if (!bInit) + { + sprintf(formats[4], "19%s-%s-01", HUGE_DATE_FORMAT, HUGE_DATE_FORMAT); + sprintf(formats[5], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[6], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[7], "0.%s", HUGE_DATE_FORMAT); /* used by q6 */ + sprintf(formats[10], "19%s-%s-01", HUGE_DATE_FORMAT, HUGE_DATE_FORMAT); + sprintf(formats[12], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[14], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[15], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[16], "Brand#%s%s", HUGE_FORMAT, HUGE_FORMAT); + sprintf(formats[17], "Brand#%s%s", HUGE_FORMAT, HUGE_FORMAT); + sprintf(formats[19], "Brand#%s%s", HUGE_FORMAT, HUGE_FORMAT); + sprintf(formats[20], "19%s-01-01", HUGE_DATE_FORMAT); + bInit = 1; + } + + if (vnum == 0) + { + if ((flags & DFLT) == 0) + { + switch(qnum) + { + case 1: + sprintf(param[1], HUGE_FORMAT, UnifInt((DSS_HUGE)60,(DSS_HUGE)120,qnum)); + param[2][0] = '\0'; + break; + case 2: + sprintf(param[1], HUGE_FORMAT, + UnifInt((DSS_HUGE)P_SIZE_MIN, (DSS_HUGE)P_SIZE_MAX, qnum)); + pick_str(&p_types_set, qnum, param[3]); + ptr = param[3] + strlen(param[3]); + while (*(ptr - 1) != ' ') ptr--; + strcpy(param[2], ptr); + pick_str(®ions, qnum, param[3]); + param[4][0] = '\0'; + break; + case 3: + pick_str(&c_mseg_set, qnum, param[1]); + /* + * pick a random offset within the month of march and add the + * appropriate magic numbers to position the output functions + * at the start of March '95 + */ + RANDOM(tmp_date, 0, 30, qnum); + strcpy(param[2], *(asc_date + tmp_date + 1155)); + param[3][0] = '\0'; + break; + case 4: + tmp_date = UnifInt((DSS_HUGE)1,(DSS_HUGE)58,qnum); + sprintf(param[1],formats[4], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 5: + pick_str(®ions, qnum, param[1]); + tmp_date = UnifInt((DSS_HUGE)93, (DSS_HUGE)97,qnum); + sprintf(param[2], formats[5], tmp_date); + param[3][0] = '\0'; + break; + case 6: + tmp_date = UnifInt((DSS_HUGE)93,(DSS_HUGE)97,qnum); + sprintf(param[1], formats[6], tmp_date); + sprintf(param[2], formats[7], + UnifInt((DSS_HUGE)2, (DSS_HUGE)9, qnum)); + sprintf(param[3], HUGE_FORMAT, UnifInt((DSS_HUGE)24, (DSS_HUGE)25, qnum)); + param[4][0] = '\0'; + break; + case 7: + tmp_date = pick_str(&nations2, qnum, param[1]); + while (pick_str(&nations2, qnum, param[2]) == tmp_date); + param[3][0] = '\0'; + break; + case 8: + tmp_date = pick_str(&nations2, qnum, param[1]); + tmp_date = nations.list[tmp_date].weight; + strcpy(param[2], regions.list[tmp_date].text); + pick_str(&p_types_set, qnum, param[3]); + param[4][0] = '\0'; + break; + case 9: + pick_str(&colors, qnum, param[1]); + param[2][0] = '\0'; + break; + case 10: + tmp_date = UnifInt((DSS_HUGE)1,(DSS_HUGE)24,qnum); + sprintf(param[1],formats[10], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 11: + pick_str(&nations2, qnum, param[1]); + sprintf(param[2], "%11.10f", Q11_FRACTION / flt_scale ); + param[3][0] = '\0'; + break; + case 12: + tmp_date = pick_str(&l_smode_set, qnum, param[1]); + while (tmp_date == pick_str(&l_smode_set, qnum, param[2])); + tmp_date = UnifInt((DSS_HUGE)93,(DSS_HUGE)97,qnum); + sprintf(param[3], formats[12], tmp_date); + param[4][0] = '\0'; + break; + case 13: + pick_str(&q13a, qnum, param[1]); + pick_str(&q13b, qnum, param[2]); + param[3][0] = '\0'; + break; + case 14: + tmp_date = UnifInt((DSS_HUGE)1,(DSS_HUGE)60,qnum); + sprintf(param[1],formats[14], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 15: + tmp_date = UnifInt((DSS_HUGE)1,(DSS_HUGE)58,qnum); + sprintf(param[1],formats[15], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 16: + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[1], formats[16], tmp1, tmp2); + pick_str(&p_types_set, qnum, param[2]); + ptr = param[2] + strlen(param[2]); + while (*(--ptr) != ' '); + *ptr = '\0'; + lptr = &sizes[0]; + for (i=3; i <= MAX_PARAM; i++) + { + sprintf(param[i], "%ld", *permute(lptr,50,qnum) + 1); + lptr = (long *)NULL; + } + break; + case 17: + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[1], formats[17], tmp1, tmp2); + pick_str(&p_cntr_set, qnum, param[2]); + param[3][0] = '\0'; + break; + case 18: + sprintf(param[1], HUGE_FORMAT, UnifInt((DSS_HUGE)312, (DSS_HUGE)315, qnum)); + param[2][0] = '\0'; + break; + case 19: + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[1], formats[19], tmp1, tmp2); + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[2], formats[19], tmp1, tmp2); + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[3], formats[19], tmp1, tmp2); + sprintf(param[4], HUGE_FORMAT, UnifInt((DSS_HUGE)1, (DSS_HUGE)10, qnum)); + sprintf(param[5], HUGE_FORMAT, UnifInt((DSS_HUGE)10, (DSS_HUGE)20, qnum)); + sprintf(param[6], HUGE_FORMAT, UnifInt((DSS_HUGE)20, (DSS_HUGE)30, qnum)); + param[7][0] = '\0'; + break; + case 20: + pick_str(&colors, qnum, param[1]); + tmp_date = UnifInt((DSS_HUGE)93,(DSS_HUGE)97,qnum); + sprintf(param[2], formats[20], tmp_date); + pick_str(&nations2, qnum, param[3]); + param[4][0] = '\0'; + break; + case 21: + pick_str(&nations2, qnum, param[1]); + param[2][0] = '\0'; + break; + case 22: + lptr = &ccode[0]; + for (i=0; i <= 7; i++) + { + sprintf(param[i+1], "%ld", 10 + *permute(lptr,25, qnum)); + lptr = (long *)NULL; + } + param[8][0] = '\0'; + break; + case 23: + case 24: + break; + default: + fprintf(stderr, + "No variable definitions available for query %d\n", + qnum); + return; + } + } + + if (flags & LOG) + { + if (lfp == NULL) + { + lfp = fopen(lfile, "a"); + OPEN_CHECK(lfp, lfile); + } + fprintf(lfp, "%d", qnum); + for (i=1; i <= 10; i++) + if (flags & DFLT) + { + if (defaults[qnum - 1][i - 1] == NULL) + break; + else + fprintf(lfp, "\t%s", defaults[qnum - 1][i - 1]); + } + else + { + if (param[i][0] == '\0') + break; + else + fprintf(lfp, "\t%s", param[i]); + } + fprintf(lfp, "\n"); + } + } + else + { + if (flags & DFLT) + { + /* to allow -d to work at all scale factors */ + if (qnum == 11 && vnum == 2) + fprintf(ofp, "%11.10f", Q11_FRACTION/flt_scale); + else + if (defaults[qnum - 1][vnum - 1]) + fprintf(ofp, "%s", defaults[qnum - 1][vnum - 1]); + else + fprintf(stderr, + "Bad default request (q: %d, p: %d)\n", + qnum, vnum); + } + else + { + if (param[vnum] && vnum <= MAX_PARAM) + fprintf(ofp, "%s", param[vnum]); + else + fprintf(stderr, "Bad parameter request (q: %d, p: %d)\n", + qnum, vnum); + } + } + return; +} diff --git a/MayBMS-tpch/urel-ULDB.sql b/MayBMS-tpch/urel-ULDB.sql new file mode 100644 index 0000000..d03c09a --- /dev/null +++ b/MayBMS-tpch/urel-ULDB.sql @@ -0,0 +1,576 @@ +--set search_path to public,data_s0_01_x0_001_z0_1_p0_25; +------------------------------------------ +-- setup trio metadata tables +------------------------------------------ +CREATE TABLE trio_tables(tablename name,"type" integer,confbase boolean,istemporary boolean) +WITHOUT OIDS; + +CREATE INDEX trio_tables_idx ON trio_tables USING btree (tablename, "type", confbase); + +CREATE TABLE trio_tables_lin(tablename name,srctable name) +WITHOUT OIDS; + +CREATE INDEX trio_tables_lin_idx ON trio_tables_lin USING btree (tablename, srctable); + +CREATE TABLE trio_attribs(tablename name,attrname name,colnum integer,iscertain boolean) +WITHOUT OIDS; + +CREATE INDEX trio_attribs_idx ON trio_attribs USING btree (tablename, attrname, colnum); + +------------------------------------------------------------------------------------ +-- create table wbase holding the pairs cid, lwid as a TRIO base relation +------------------------------------------------------------------------------------ +insert into trio_tables values('wbase',0,'t','f'); +insert into trio_attribs values('wbase','trio_xid',0,'f'); + +create table trio_c_wbase(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_wbase(trio_xid integer,trio_aid integer) WITHOUT OIDS; +create table trio_lin_wbase(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +insert into trio_c_wbase +select cid as xid, count(*) as trio_alts, count(*) as trio_enc +from w group by cid; + +insert into trio_u_wbase +select cid as xid, aid +from w; + +create or replace view wbase as +select c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf + FROM trio_u_wbase u, trio_c_wbase c + WHERE u.trio_xid = c.trio_xid + ORDER BY c.trio_xid; + + +CREATE INDEX trio_lin_wbase_idx + ON trio_lin_wbase + USING btree + (aid, srctable, srclin, disjlin); + + +CREATE INDEX trio_c_wbase_xid_idx + ON trio_c_wbase + USING btree + (trio_xid); + +CREATE INDEX trio_u_wbase_xid_idx + ON trio_u_wbase + USING btree + (trio_xid); + + +------------------------------------------ +-- nation +------------------------------------------ +insert into trio_tables values('tnation',0,'f','f'); +insert into trio_attribs values('tnation','n_nationkey',0,'f'); +insert into trio_attribs values('tnation','n_name',1,'f'); +insert into trio_attribs values('tnation','n_regionkey',2,'f'); +insert into trio_attribs values('tnation','n_comment',3,'f'); +insert into trio_tables_lin values('tnation','wbase'); + +create table trio_c_tnation(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_tnation(n_nationkey integer,n_name character(25),n_regionkey integer,n_comment character varying(152),trio_xid integer,trio_aid integer) WITHOUT OIDS; +create table trio_lin_tnation(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate tnation +insert into trio_c_tnation +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from nation group by tid; + +insert into trio_u_tnation +select n_nationkey, n_name, n_regionkey, n_comment, tid as trio_xid, oid as trio_aid +from nation; + +insert into trio_lin_tnation +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from nation, w +where nation.c1 = w.cid and nation.w1 = w.lwid or + nation.c2 = w.cid and nation.w2 = w.lwid or + nation.c3 = w.cid and nation.w3 = w.lwid or + nation.c4 = w.cid and nation.w4 = w.lwid; + + +create or replace view tnation as +select u.n_nationkey,u.n_name,u.n_regionkey,u.n_comment, c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf + FROM trio_u_tnation u, trio_c_tnation c + WHERE u.trio_xid = c.trio_xid + ORDER BY c.trio_xid; + +CREATE INDEX trio_lin_tnation_idx + ON trio_lin_tnation + USING btree + (aid, srctable, srclin, disjlin); + + +CREATE INDEX trio_c_tnation_xid_idx + ON trio_c_tnation + USING btree + (trio_xid); + +CREATE INDEX trio_u_tnation_xid_idx + ON trio_u_tnation + USING btree + (trio_xid); + + +------------------------------------------ +-- region +------------------------------------------ +insert into trio_tables values('tregion',0,'f','f'); +insert into trio_attribs values('tregion','r_regionkey',0,'f'); +insert into trio_attribs values('tregion','r_name',1,'f'); +insert into trio_attribs values('tregion','r_comment',2,'f'); +insert into trio_tables_lin values('tregion','wbase'); + +create table trio_c_tregion(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_tregion(r_regionkey integer,r_name character(25),r_comment character varying(152),trio_xid integer,trio_aid integer) WITHOUT OIDS; +create table trio_lin_tregion(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate tregion +insert into trio_c_tregion +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from region group by tid; + +insert into trio_u_tregion +select r_regionkey, r_name, r_comment, tid as trio_xid, oid as trio_aid +from region; + +insert into trio_lin_tregion +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from region, w +where region.c1 = w.cid and region.w1 = w.lwid or + region.c2 = w.cid and region.w2 = w.lwid or + region.c3 = w.cid and region.w3 = w.lwid; + + +create or replace view tregion as +select u.r_regionkey,u.r_name,u.r_comment, c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf + FROM trio_u_tregion u, trio_c_tregion c + WHERE u.trio_xid = c.trio_xid + ORDER BY c.trio_xid; + + +CREATE INDEX trio_lin_tregion_idx + ON trio_lin_tregion + USING btree + (aid, srctable, srclin, disjlin); + +CREATE INDEX trio_c_tregion_xid_idx + ON trio_c_tregion + USING btree + (trio_xid); + +CREATE INDEX trio_u_tregion_xid_idx + ON trio_u_tregion + USING btree + (trio_xid); + +------------------------------------------ +-- part +------------------------------------------ +insert into trio_tables values('tpart',0,'f','f'); +insert into trio_attribs values('tpart','p_partkey',0,'f'); +insert into trio_attribs values('tpart','p_name',1,'f'); +insert into trio_attribs values('tpart','p_mfgr',2,'f'); +insert into trio_attribs values('tpart','p_brand',3,'f'); +insert into trio_attribs values('tpart','p_type',4,'f'); +insert into trio_attribs values('tpart','p_size',5,'f'); +insert into trio_attribs values('tpart','p_container',6,'f'); +insert into trio_attribs values('tpart','p_retailprice',7,'f'); +insert into trio_attribs values('tpart','p_comment',8,'f'); + +insert into trio_tables_lin values('tpart','wbase'); + +create table trio_c_tpart(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_tpart(p_partkey integer,p_name character varying(55),p_mfgr character(25),p_brand character(10),p_type character varying(25), + p_size integer,p_container character(10),p_retailprice numeric(15,2),p_comment character varying(23),trio_xid integer,trio_aid integer) WITHOUT OIDS; +create table trio_lin_tpart(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate tpart +insert into trio_c_tpart +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from part group by tid; + +insert into trio_u_tpart +select p_partkey, p_name, p_mfgr, p_brand, p_type, p_size, p_container, p_retailprice, p_comment, tid as trio_xid, oid as trio_aid +from part; + +insert into trio_lin_tpart +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from part, w +where part.c1 = w.cid and part.w1 = w.lwid or + part.c2 = w.cid and part.w2 = w.lwid or + part.c3 = w.cid and part.w3 = w.lwid or + part.c4 = w.cid and part.w4 = w.lwid or + part.c5 = w.cid and part.w5 = w.lwid or + part.c6 = w.cid and part.w6 = w.lwid or + part.c7 = w.cid and part.w7 = w.lwid or + part.c8 = w.cid and part.w8 = w.lwid or + part.c9 = w.cid and part.w9 = w.lwid; + + +create or replace view tpart as +select u.p_partkey, u.p_name, u.p_mfgr, u.p_brand, u.p_type, u.p_size, u.p_container, u.p_retailprice, u.p_comment, + c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf +FROM trio_u_tpart u, trio_c_tpart c +WHERE u.trio_xid = c.trio_xid +ORDER BY c.trio_xid; + + +CREATE INDEX trio_lin_tpart_idx + ON trio_lin_tpart + USING btree + (aid, srctable, srclin, disjlin); + +CREATE INDEX trio_c_tpart_xid_idx + ON trio_c_tpart + USING btree + (trio_xid); + +CREATE INDEX trio_u_tpart_xid_idx + ON trio_u_tpart + USING btree + (trio_xid); + +------------------------------------------ +-- supplier +------------------------------------------ +insert into trio_tables values('tsupplier',0,'f','f'); +insert into trio_attribs values('tsupplier','s_suppkey',0,'f'); +insert into trio_attribs values('tsupplier','s_name',1,'f'); +insert into trio_attribs values('tsupplier','s_address',2,'f'); +insert into trio_attribs values('tsupplier','s_nationkey',3,'f'); +insert into trio_attribs values('tsupplier','s_phone',4,'f'); +insert into trio_attribs values('tsupplier','s_acctbal',5,'f'); +insert into trio_attribs values('tsupplier','s_comment',6,'f'); + +insert into trio_tables_lin values('tsupplier','wbase'); + +create table trio_c_tsupplier(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_tsupplier(s_suppkey integer,s_name character(25),s_address character varying(40),s_nationkey integer,s_phone character(15), + s_acctbal numeric(15,2),s_comment character varying(101), + trio_xid integer,trio_aid integer) WITHOUT OIDS; +create table trio_lin_tsupplier(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate tsupplier +insert into trio_c_tsupplier +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from supplier group by tid; + +insert into trio_u_tsupplier +select s_suppkey, s_name, s_address, s_nationkey, s_phone, s_acctbal, s_comment, tid as trio_xid, oid as trio_aid +from supplier; + +insert into trio_lin_tsupplier +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from supplier, w +where supplier.c1 = w.cid and supplier.w1 = w.lwid or + supplier.c2 = w.cid and supplier.w2 = w.lwid or + supplier.c3 = w.cid and supplier.w3 = w.lwid or + supplier.c4 = w.cid and supplier.w4 = w.lwid or + supplier.c5 = w.cid and supplier.w5 = w.lwid or + supplier.c6 = w.cid and supplier.w6 = w.lwid or + supplier.c7 = w.cid and supplier.w7 = w.lwid; + + +create or replace view tsupplier as +select u.s_suppkey, u.s_name, u.s_address, u.s_nationkey, u.s_phone, u.s_acctbal, u.s_comment, + c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf +FROM trio_u_tsupplier u, trio_c_tsupplier c +WHERE u.trio_xid = c.trio_xid +ORDER BY c.trio_xid; + +CREATE INDEX trio_lin_tsupplier_idx + ON trio_lin_tsupplier + USING btree + (aid, srctable, srclin, disjlin); + +CREATE INDEX trio_c_tsupplier_xid_idx + ON trio_c_tsupplier + USING btree + (trio_xid); + +CREATE INDEX trio_u_tsupplier_xid_idx + ON trio_u_tsupplier + USING btree + (trio_xid); + +------------------------------------------ +-- partsupp +------------------------------------------ +insert into trio_tables values('tpartsupp',0,'f','f'); +insert into trio_attribs values('tpartsupp','ps_partkey',0,'f'); +insert into trio_attribs values('tpartsupp','ps_suppkey',1,'f'); +insert into trio_attribs values('tpartsupp','ps_availqty',2,'f'); +insert into trio_attribs values('tpartsupp','ps_supplycost',3,'f'); +insert into trio_attribs values('tpartsupp','ps_comment',4,'f'); + +insert into trio_tables_lin values('tpartsupp','wbase'); + +create table trio_c_tpartsupp(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_tpartsupp(ps_partkey integer, ps_suppkey integer,ps_availqty integer, + ps_supplycost numeric(15,2),ps_comment character varying(199), + trio_xid integer,trio_aid integer) WITHOUT OIDS; +create table trio_lin_tpartsupp(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate tpartsupp +insert into trio_c_tpartsupp +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from partsupp group by tid; + +insert into trio_u_tpartsupp +select ps_partkey, ps_suppkey, ps_availqty, ps_supplycost, ps_comment, tid as trio_xid, oid as trio_aid +from partsupp; + +insert into trio_lin_tpartsupp +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from partsupp, w +where partsupp.c1 = w.cid and partsupp.w1 = w.lwid or + partsupp.c2 = w.cid and partsupp.w2 = w.lwid or + partsupp.c3 = w.cid and partsupp.w3 = w.lwid or + partsupp.c4 = w.cid and partsupp.w4 = w.lwid or + partsupp.c5 = w.cid and partsupp.w5 = w.lwid; + + +create or replace view tpartsupp as +select ps_partkey, ps_suppkey, ps_availqty, ps_supplycost, ps_comment, + c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf +FROM trio_u_tpartsupp u, trio_c_tpartsupp c +WHERE u.trio_xid = c.trio_xid +ORDER BY c.trio_xid; + +CREATE INDEX trio_lin_tpartsupp_idx + ON trio_lin_tpartsupp + USING btree + (aid, srctable, srclin, disjlin); + +CREATE INDEX trio_c_tpartsupp_xid_idx + ON trio_c_tpartsupp + USING btree + (trio_xid); + +CREATE INDEX trio_u_tpartsupp_xid_idx + ON trio_u_tpartsupp + USING btree + (trio_xid); + +------------------------------------------ +-- customer +------------------------------------------ +insert into trio_tables values('tcustomer',0,'f','f'); +insert into trio_attribs values('tcustomer','c_custkey',0,'f'); +insert into trio_attribs values('tcustomer','c_name',1,'f'); +insert into trio_attribs values('tcustomer','c_address',2,'f'); +insert into trio_attribs values('tcustomer','c_nationkey',3,'f'); +insert into trio_attribs values('tcustomer','c_phone',4,'f'); +insert into trio_attribs values('tcustomer','c_acctbal',5,'f'); +insert into trio_attribs values('tcustomer','c_mktsegment',6,'f'); +insert into trio_attribs values('tcustomer','c_comment',7,'f'); + +insert into trio_tables_lin values('tcustomer','wbase'); + +create table trio_c_tcustomer(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_tcustomer(c_custkey integer,c_name character varying(25),c_address character varying(40),c_nationkey integer, + c_phone character(15),c_acctbal numeric(15,2),c_mktsegment character(10),c_comment character varying(117), + trio_xid integer,trio_aid integer) WITHOUT OIDS; + + create table trio_lin_tcustomer(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate tcustomer +insert into trio_c_tcustomer +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from customer group by tid; + +insert into trio_u_tcustomer +select c_custkey, c_name, c_address, c_nationkey, c_phone, c_acctbal, c_mktsegment, c_comment, tid as trio_xid, oid as trio_aid +from customer; + +insert into trio_lin_tcustomer +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from customer, w +where customer.c1 = w.cid and customer.w1 = w.lwid or + customer.c2 = w.cid and customer.w2 = w.lwid or + customer.c3 = w.cid and customer.w3 = w.lwid or + customer.c4 = w.cid and customer.w4 = w.lwid or + customer.c5 = w.cid and customer.w5 = w.lwid or + customer.c6 = w.cid and customer.w6 = w.lwid or + customer.c7 = w.cid and customer.w7 = w.lwid or + customer.c8 = w.cid and customer.w8 = w.lwid; + + +create or replace view tcustomer as +select u.c_custkey, u.c_name, u.c_address, u.c_nationkey, u.c_phone, u.c_acctbal, u.c_mktsegment, u.c_comment, + c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf +FROM trio_u_tcustomer u, trio_c_tcustomer c +WHERE u.trio_xid = c.trio_xid +ORDER BY c.trio_xid; + +CREATE INDEX trio_lin_tcustomer_idx + ON trio_lin_tcustomer + USING btree + (aid, srctable, srclin, disjlin); + +CREATE INDEX trio_c_tcustomer_xid_idx + ON trio_c_tcustomer + USING btree + (trio_xid); + +CREATE INDEX trio_u_tcustomer_xid_idx + ON trio_u_tcustomer + USING btree + (trio_xid); + +------------------------------------------ +-- orders +------------------------------------------ +insert into trio_tables values('torders',0,'f','f'); +insert into trio_attribs values('torders','o_orderkey',0,'f'); +insert into trio_attribs values('torders','o_custkey',1,'f'); +insert into trio_attribs values('torders','o_orderstatus',2,'f'); +insert into trio_attribs values('torders','o_totalprice',3,'f'); +insert into trio_attribs values('torders','o_orderdate',4,'f'); +insert into trio_attribs values('torders','o_orderpriority',5,'f'); +insert into trio_attribs values('torders','o_clerk',6,'f'); +insert into trio_attribs values('torders','o_shippriority',7,'f'); +insert into trio_attribs values('torders','o_comment',8,'f'); + +insert into trio_tables_lin values('torders','wbase'); + +create table trio_c_torders(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_torders(o_orderkey integer,o_custkey integer,o_orderstatus character(1),o_totalprice numeric(15,2), + o_orderdate date,o_orderpriority character(15),o_clerk character(15),o_shippriority integer,o_comment character varying(79), + trio_xid integer,trio_aid integer) WITHOUT OIDS; + +create table trio_lin_torders(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate torders +insert into trio_c_torders +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from orders group by tid; + +insert into trio_u_torders +select o_orderkey, o_custkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk, o_shippriority, o_comment, tid as trio_xid, oid as trio_aid +from orders; + +insert into trio_lin_torders +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from orders, w +where orders.c1 = w.cid and orders.w1 = w.lwid or + orders.c2 = w.cid and orders.w2 = w.lwid or + orders.c3 = w.cid and orders.w3 = w.lwid or + orders.c4 = w.cid and orders.w4 = w.lwid or + orders.c5 = w.cid and orders.w5 = w.lwid or + orders.c6 = w.cid and orders.w6 = w.lwid or + orders.c7 = w.cid and orders.w7 = w.lwid or + orders.c8 = w.cid and orders.w8 = w.lwid or + orders.c9 = w.cid and orders.w9 = w.lwid; + + +create or replace view torders as +select u.o_orderkey, u.o_custkey, u.o_orderstatus, u.o_totalprice, u.o_orderdate, u.o_orderpriority, u.o_clerk, u.o_shippriority, u.o_comment, + c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf +FROM trio_u_torders u, trio_c_torders c +WHERE u.trio_xid = c.trio_xid +ORDER BY c.trio_xid; + +CREATE INDEX trio_lin_torders_idx + ON trio_lin_torders + USING btree + (aid, srctable, srclin, disjlin); + +CREATE INDEX trio_c_torders_xid_idx + ON trio_c_torders + USING btree + (trio_xid); + +CREATE INDEX trio_u_torders_xid_idx + ON trio_u_torders + USING btree + (trio_xid); + +------------------------------------------ +-- lineitem +------------------------------------------ +insert into trio_tables values('tlineitem',0,'f','f'); +insert into trio_attribs values('tlineitem','l_orderkey',0,'f'); +insert into trio_attribs values('tlineitem','l_partkey',1,'f'); +insert into trio_attribs values('tlineitem','l_suppkey',2,'f'); +insert into trio_attribs values('tlineitem','l_linenumber',3,'f'); +insert into trio_attribs values('tlineitem','l_quantity',4,'f'); +insert into trio_attribs values('tlineitem','l_extendedprice',5,'f'); +insert into trio_attribs values('tlineitem','l_discount',6,'f'); +insert into trio_attribs values('tlineitem','l_tax',7,'f'); +insert into trio_attribs values('tlineitem','l_returnflag',8,'f'); +insert into trio_attribs values('tlineitem','l_linestatus',9,'f'); +insert into trio_attribs values('tlineitem','l_shipdate',10,'f'); +insert into trio_attribs values('tlineitem','l_commitdate',11,'f'); +insert into trio_attribs values('tlineitem','l_receiptdate',12,'f'); +insert into trio_attribs values('tlineitem','l_shipinstruct',13,'f'); +insert into trio_attribs values('tlineitem','l_shipmode',14,'f'); +insert into trio_attribs values('tlineitem','l_comment',15,'f'); + +insert into trio_tables_lin values('tlineitem','wbase'); + +create table trio_c_tlineitem(trio_xid integer,trio_alts integer,trio_enc integer) WITHOUT OIDS; +create table trio_u_tlineitem(l_orderkey integer,l_partkey integer,l_suppkey integer,l_linenumber integer, + l_quantity numeric(15,2),l_extendedprice numeric(15,2),l_discount numeric(15,2),l_tax numeric(15,2), + l_returnflag character(1),l_linestatus character(1),l_shipdate date,l_commitdate date,l_receiptdate date, + l_shipinstruct character(25),l_shipmode character(10),l_comment character varying(44), + trio_xid integer,trio_aid integer) WITHOUT OIDS; + +create table trio_lin_tlineitem(aid integer,disjlin integer,srclin integer,srctable name) WITHOUT OIDS; + +-- populate tlineitem +insert into trio_c_tlineitem +select tid as xid, count(*) as trio_alts, count(*) as trio_enc +from lineitem group by tid; + +insert into trio_u_tlineitem +select l_orderkey,l_partkey,l_suppkey,l_linenumber,l_quantity,l_extendedprice,l_discount,l_tax,l_returnflag, + l_linestatus,l_shipdate,l_commitdate,l_receiptdate,l_shipinstruct,l_shipmode,l_comment, tid as trio_xid, oid as trio_aid +from lineitem; + +insert into trio_lin_tlineitem +select oid as aid, oid as disjlin, w.aid as srclin, 'wbase' +from lineitem, w +where lineitem.c1 = w.cid and lineitem.w1 = w.lwid or + lineitem.c2 = w.cid and lineitem.w2 = w.lwid or + lineitem.c3 = w.cid and lineitem.w3 = w.lwid or + lineitem.c4 = w.cid and lineitem.w4 = w.lwid or + lineitem.c5 = w.cid and lineitem.w5 = w.lwid or + lineitem.c6 = w.cid and lineitem.w6 = w.lwid or + lineitem.c7 = w.cid and lineitem.w7 = w.lwid or + lineitem.c8 = w.cid and lineitem.w8 = w.lwid or + lineitem.c9 = w.cid and lineitem.w9 = w.lwid or + lineitem.c10 = w.cid and lineitem.w10 = w.lwid or + lineitem.c11 = w.cid and lineitem.w11 = w.lwid or + lineitem.c12 = w.cid and lineitem.w12 = w.lwid or + lineitem.c13 = w.cid and lineitem.w13 = w.lwid or + lineitem.c14 = w.cid and lineitem.w14 = w.lwid or + lineitem.c15 = w.cid and lineitem.w15 = w.lwid or + lineitem.c16 = w.cid and lineitem.w8 = w.lwid; + + +create or replace view tlineitem as +select u.l_orderkey,u.l_partkey,u.l_suppkey,u.l_linenumber,u.l_quantity,u.l_extendedprice,u.l_discount,u.l_tax,u.l_returnflag, + u.l_linestatus,u.l_shipdate,u.l_commitdate,u.l_receiptdate,u.l_shipinstruct,u.l_shipmode,u.l_comment, + c.trio_xid, u.trio_aid, c.trio_alts, c.trio_enc, NULL::numeric AS trio_conf +FROM trio_u_tlineitem u, trio_c_tlineitem c +WHERE u.trio_xid = c.trio_xid +ORDER BY c.trio_xid; + +CREATE INDEX trio_lin_tlineitem_idx + ON trio_lin_tlineitem + USING btree + (aid, srctable, srclin, disjlin); + +CREATE INDEX trio_c_tlineitem_xid_idx + ON trio_c_tlineitem + USING btree + (trio_xid); + +CREATE INDEX trio_u_tlineitem_xid_idx + ON trio_u_tlineitem + USING btree + (trio_xid); \ No newline at end of file diff --git a/MayBMS-tpch/urel-attr-tuple.sql b/MayBMS-tpch/urel-attr-tuple.sql new file mode 100644 index 0000000..3a4b144 --- /dev/null +++ b/MayBMS-tpch/urel-attr-tuple.sql @@ -0,0 +1,151 @@ +--set search_path to data_s0_1_x0_001_z0_1_m8; + +create table nation with oids as +select U1.c1, U1.w1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, U4.c1 as c4, U4.w1 as w4, + U1.tid, n_nationkey, n_name, n_regionkey, n_comment +from u_n_nationkey U1, u_n_name U2, u_n_regionkey U3, u_n_comment U4 +where U1.tid=U2.tid and U1.tid=U3.tid and U1.tid=U4.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U1.C1<>U4.C1 or U1.W1=U4.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1) and (U2.C1<>U4.C1 or U2.W1=U4.W1) and (U3.C1<>U4.C1 or U3.W1=U4.W1); + +create table region with oids as +select U1.c1, U1.w1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, + U1.tid, r_regionkey, r_name, r_comment +from u_r_regionkey U1, u_r_name U2, u_r_comment U3 +where U1.tid=U2.tid and U1.tid=U3.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1); + +create table part with oids as +select U1.c1, U1.w1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, U4.c1 as c4, U4.w1 as w4, U5.c1 as c5, U5.w1 as w5, + U6.c1 as c6, U6.w1 as w6, U7.c1 as c7, U7.w1 as w7, U8.c1 as c8, U8.w1 as w8, U9.c1 as c9, U9.w1 as w9, + U1.tid, p_partkey, p_name, p_mfgr, p_brand, p_type, p_size, p_container, p_retailprice, p_comment +from u_p_partkey U1, u_p_name U2, u_p_mfgr U3, u_p_brand U4, u_p_type U5, u_p_size U6, u_p_container U7, u_p_retailprice U8, u_p_comment U9 +where U1.tid=U2.tid and U1.tid=U3.tid and U1.tid=U4.tid and U1.tid=U5.tid and + U1.tid=U6.tid and U1.tid=U7.tid and U1.tid=U8.tid and U1.tid=U9.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U1.C1<>U4.C1 or U1.W1=U4.W1) and (U1.C1<>U5.C1 or U1.W1=U5.W1) and (U1.C1<>U6.C1 or U1.W1=U6.W1) and (U1.C1<>U7.C1 or U1.W1=U7.W1) and (U1.C1<>U8.C1 or U1.W1=U8.W1) and (U1.C1<>U9.C1 or U1.W1=U9.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1) and (U2.C1<>U4.C1 or U2.W1=U4.W1) and (U2.C1<>U5.C1 or U2.W1=U5.W1) and (U2.C1<>U6.C1 or U2.W1=U6.W1) and (U2.C1<>U7.C1 or U2.W1=U7.W1) and (U2.C1<>U8.C1 or U2.W1=U8.W1) and (U2.C1<>U9.C1 or U2.W1=U9.W1) and (U3.C1<>U4.C1 or U3.W1=U4.W1) and (U3.C1<>U5.C1 or U3.W1=U5.W1) and (U3.C1<>U6.C1 or U3.W1=U6.W1) and (U3.C1<>U7.C1 or U3.W1=U7.W1) and (U3.C1<>U8.C1 or U3.W1=U8.W1) and (U3.C1<>U9.C1 or U3.W1=U9.W1) and (U4.C1<>U5.C1 or U4.W1=U5.W1) and (U4.C1<>U6.C1 or U4.W1=U6.W1) and (U4.C1<>U7.C1 or U4.W1=U7.W1) and (U4.C1<>U8.C1 or U4.W1=U8.W1) and (U4.C1<>U9.C1 or U4.W1=U9.W1) and (U5.C1<>U6.C1 or U5.W1=U6.W1) and (U5.C1<>U7.C1 or U5.W1=U7.W1) and (U5.C1<>U8.C1 or U5.W1=U8.W1) and (U5.C1<>U9.C1 or U5.W1=U9.W1) and (U6.C1<>U7.C1 or U6.W1=U7.W1) and (U6.C1<>U8.C1 or U6.W1=U8.W1) and (U6.C1<>U9.C1 or U6.W1=U9.W1) and (U7.C1<>U8.C1 or U7.W1=U8.W1) and (U7.C1<>U9.C1 or U7.W1=U9.W1) and (U8.C1<>U9.C1 or U8.W1=U9.W1); + + +create table supplier with oids as +select U1.c1, U1.w1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, U4.c1 as c4, U4.w1 as w4, U5.c1 as c5, U5.w1 as w5, + U6.c1 as c6, U6.w1 as w6, U7.c1 as c7, U7.w1 as w7, + U1.tid, s_suppkey, s_name, s_address, s_nationkey, s_phone, s_acctbal, s_comment +from u_s_suppkey U1, u_s_name U2, u_s_address U3, u_s_nationkey U4, u_s_phone U5, u_s_acctbal U6, u_s_comment U7 +where U1.tid=U2.tid and U1.tid=U3.tid and U1.tid=U4.tid and U1.tid=U5.tid and U1.tid=U6.tid and U1.tid=U7.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U1.C1<>U4.C1 or U1.W1=U4.W1) and (U1.C1<>U5.C1 or U1.W1=U5.W1) and (U1.C1<>U6.C1 or U1.W1=U6.W1) and (U1.C1<>U7.C1 or U1.W1=U7.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1) and (U2.C1<>U4.C1 or U2.W1=U4.W1) and (U2.C1<>U5.C1 or U2.W1=U5.W1) and (U2.C1<>U6.C1 or U2.W1=U6.W1) and (U2.C1<>U7.C1 or U2.W1=U7.W1) and (U3.C1<>U4.C1 or U3.W1=U4.W1) and (U3.C1<>U5.C1 or U3.W1=U5.W1) and (U3.C1<>U6.C1 or U3.W1=U6.W1) and (U3.C1<>U7.C1 or U3.W1=U7.W1) and (U4.C1<>U5.C1 or U4.W1=U5.W1) and (U4.C1<>U6.C1 or U4.W1=U6.W1) and (U4.C1<>U7.C1 or U4.W1=U7.W1) and (U5.C1<>U6.C1 or U5.W1=U6.W1) and (U5.C1<>U7.C1 or U5.W1=U7.W1) and (U6.C1<>U7.C1 or U6.W1=U7.W1); + + +create table partsupp with oids as +select U1.c1, U1.w1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, U4.c1 as c4, U4.w1 as w4, U5.c1 as c5, U5.w1 as w5, + U1.tid, ps_partkey, ps_suppkey, ps_availqty, ps_supplycost, ps_comment +from u_ps_partkey U1, u_ps_suppkey U2, u_ps_availqty U3, u_ps_supplycost U4, u_ps_comment U5 +where U1.tid=U2.tid and U1.tid=U3.tid and U1.tid=U4.tid and U1.tid=U5.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U1.C1<>U4.C1 or U1.W1=U4.W1) and (U1.C1<>U5.C1 or U1.W1=U5.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1) and (U2.C1<>U4.C1 or U2.W1=U4.W1) and (U2.C1<>U5.C1 or U2.W1=U5.W1) and (U3.C1<>U4.C1 or U3.W1=U4.W1) and (U3.C1<>U5.C1 or U3.W1=U5.W1) and (U4.C1<>U5.C1 or U4.W1=U5.W1); + + +create table customer with oids as +select U1.c1, U1.w1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, U4.c1 as c4, U4.w1 as w4, U5.c1 as c5, U5.w1 as w5, + U6.c1 as c6, U6.w1 as w6, U7.c1 as c7, U7.w1 as w7, U8.c1 as c8, U8.w1 as w8, + U1.tid, c_custkey, c_name, c_address, c_nationkey, c_phone, c_acctbal, c_mktsegment, c_comment +from u_c_custkey U1, u_c_name U2, u_c_address U3, u_c_nationkey U4, u_c_phone U5, u_c_acctbal U6, u_c_mktsegment U7, u_c_comment U8 +where U1.tid=U2.tid and U1.tid=U3.tid and U1.tid=U4.tid and U1.tid=U5.tid and + U1.tid=U6.tid and U1.tid=U7.tid and U1.tid=U8.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U1.C1<>U4.C1 or U1.W1=U4.W1) and (U1.C1<>U5.C1 or U1.W1=U5.W1) and (U1.C1<>U6.C1 or U1.W1=U6.W1) and (U1.C1<>U7.C1 or U1.W1=U7.W1) and (U1.C1<>U8.C1 or U1.W1=U8.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1) and (U2.C1<>U4.C1 or U2.W1=U4.W1) and (U2.C1<>U5.C1 or U2.W1=U5.W1) and (U2.C1<>U6.C1 or U2.W1=U6.W1) and (U2.C1<>U7.C1 or U2.W1=U7.W1) and (U2.C1<>U8.C1 or U2.W1=U8.W1) and (U3.C1<>U4.C1 or U3.W1=U4.W1) and (U3.C1<>U5.C1 or U3.W1=U5.W1) and (U3.C1<>U6.C1 or U3.W1=U6.W1) and (U3.C1<>U7.C1 or U3.W1=U7.W1) and (U3.C1<>U8.C1 or U3.W1=U8.W1) and (U4.C1<>U5.C1 or U4.W1=U5.W1) and (U4.C1<>U6.C1 or U4.W1=U6.W1) and (U4.C1<>U7.C1 or U4.W1=U7.W1) and (U4.C1<>U8.C1 or U4.W1=U8.W1) and (U5.C1<>U6.C1 or U5.W1=U6.W1) and (U5.C1<>U7.C1 or U5.W1=U7.W1) and (U5.C1<>U8.C1 or U5.W1=U8.W1) and (U6.C1<>U7.C1 or U6.W1=U7.W1) and (U6.C1<>U8.C1 or U6.W1=U8.W1) and (U7.C1<>U8.C1 or U7.W1=U8.W1); + + +create table orders with oids as +select U1.c1, U1.w1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, U4.c1 as c4, U4.w1 as w4, U5.c1 as c5, U5.w1 as w5, + U6.c1 as c6, U6.w1 as w6, U7.c1 as c7, U7.w1 as w7, U8.c1 as c8, U8.w1 as w8, U9.c1 as c9, U9.w1 as w9, + U1.tid, o_orderkey, o_custkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk, o_shippriority, o_comment +from u_o_orderkey U1, u_o_custkey U2, u_o_orderstatus U3, u_o_totalprice U4, u_o_orderdate U5, + u_o_orderpriority U6, u_o_clerk U7, u_o_shippriority U8, u_o_comment U9 +where U1.tid=U2.tid and U1.tid=U3.tid and U1.tid=U4.tid and U1.tid=U5.tid and + U1.tid=U6.tid and U1.tid=U7.tid and U1.tid=U8.tid and U1.tid=U9.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U1.C1<>U4.C1 or U1.W1=U4.W1) and (U1.C1<>U5.C1 or U1.W1=U5.W1) and (U1.C1<>U6.C1 or U1.W1=U6.W1) and (U1.C1<>U7.C1 or U1.W1=U7.W1) and (U1.C1<>U8.C1 or U1.W1=U8.W1) and (U1.C1<>U9.C1 or U1.W1=U9.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1) and (U2.C1<>U4.C1 or U2.W1=U4.W1) and (U2.C1<>U5.C1 or U2.W1=U5.W1) and (U2.C1<>U6.C1 or U2.W1=U6.W1) and (U2.C1<>U7.C1 or U2.W1=U7.W1) and (U2.C1<>U8.C1 or U2.W1=U8.W1) and (U2.C1<>U9.C1 or U2.W1=U9.W1) and (U3.C1<>U4.C1 or U3.W1=U4.W1) and (U3.C1<>U5.C1 or U3.W1=U5.W1) and (U3.C1<>U6.C1 or U3.W1=U6.W1) and (U3.C1<>U7.C1 or U3.W1=U7.W1) and (U3.C1<>U8.C1 or U3.W1=U8.W1) and (U3.C1<>U9.C1 or U3.W1=U9.W1) and (U4.C1<>U5.C1 or U4.W1=U5.W1) and (U4.C1<>U6.C1 or U4.W1=U6.W1) and (U4.C1<>U7.C1 or U4.W1=U7.W1) and (U4.C1<>U8.C1 or U4.W1=U8.W1) and (U4.C1<>U9.C1 or U4.W1=U9.W1) and (U5.C1<>U6.C1 or U5.W1=U6.W1) and (U5.C1<>U7.C1 or U5.W1=U7.W1) and (U5.C1<>U8.C1 or U5.W1=U8.W1) and (U5.C1<>U9.C1 or U5.W1=U9.W1) and (U6.C1<>U7.C1 or U6.W1=U7.W1) and (U6.C1<>U8.C1 or U6.W1=U8.W1) and (U6.C1<>U9.C1 or U6.W1=U9.W1) and (U7.C1<>U8.C1 or U7.W1=U8.W1) and (U7.C1<>U9.C1 or U7.W1=U9.W1) and (U8.C1<>U9.C1 or U8.W1=U9.W1); + +create table lineitem with oids as +select U1.C1, U1.W1, U2.c1 as c2, U2.w1 as w2, U3.c1 as c3, U3.w1 as w3, U4.c1 as c4, U4.w1 as w4, U5.c1 as c5, U5.w1 as w5, + U6.c1 as c6, U6.w1 as w6, U7.c1 as c7, U7.w1 as w7, U8.c1 as c8, U8.w1 as w8, U9.c1 as c9, U9.w1 as w9, + U10.c1 as c10, U10.w1 as w10, U11.c1 as c11, U11.w1 as w11, U12.c1 as c12, U12.w1 as w12, U13.c1 as c13, U13.w1 as w13, + U14.c1 as c14, U14.w1 as w14, U15.c1 as c15, U15.w1 as W15, U16.C1 as c16, U16.w1 as w16, + U1.tid, l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, + l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment +from u_l_orderkey U1, u_l_partkey U2, u_l_suppkey U3, u_l_linenumber U4, u_l_quantity U5, u_l_extendedprice U6, + u_l_discount U7, u_l_tax U8, u_l_returnflag U9, u_l_linestatus U10, u_l_shipdate U11, u_l_commitdate U12, u_l_receiptdate U13, + u_l_shipinstruct U14, u_l_shipmode U15, u_l_comment U16 +where U1.tid=U2.tid and U1.tid=U3.tid and U1.tid=U4.tid and U1.tid=U5.tid and U1.tid=U6.tid and U1.tid=U7.tid and + U1.tid=U8.tid and U1.tid=U9.tid and U1.tid=U10.tid and U1.tid=U11.tid and U1.tid=U12.tid and U1.tid=U13.tid and + U1.tid=U14.tid and U1.tid=U15.tid and U1.tid=U16.tid and + (U1.C1<>U2.C1 or U1.W1=U2.W1) and (U1.C1<>U3.C1 or U1.W1=U3.W1) and (U1.C1<>U4.C1 or U1.W1=U4.W1) and (U1.C1<>U5.C1 or U1.W1=U5.W1) and (U1.C1<>U6.C1 or U1.W1=U6.W1) and (U1.C1<>U7.C1 or U1.W1=U7.W1) and (U1.C1<>U8.C1 or U1.W1=U8.W1) and (U1.C1<>U9.C1 or U1.W1=U9.W1) and (U1.C1<>U10.C1 or U1.W1=U10.W1) and (U1.C1<>U11.C1 or U1.W1=U11.W1) and (U1.C1<>U12.C1 or U1.W1=U12.W1) and (U1.C1<>U13.C1 or U1.W1=U13.W1) and (U1.C1<>U14.C1 or U1.W1=U14.W1) and (U1.C1<>U15.C1 or U1.W1=U15.W1) and (U1.C1<>U16.C1 or U1.W1=U16.W1) and (U2.C1<>U3.C1 or U2.W1=U3.W1) and (U2.C1<>U4.C1 or U2.W1=U4.W1) and (U2.C1<>U5.C1 or U2.W1=U5.W1) and (U2.C1<>U6.C1 or U2.W1=U6.W1) and (U2.C1<>U7.C1 or U2.W1=U7.W1) and (U2.C1<>U8.C1 or U2.W1=U8.W1) and (U2.C1<>U9.C1 or U2.W1=U9.W1) and (U2.C1<>U10.C1 or U2.W1=U10.W1) and (U2.C1<>U11.C1 or U2.W1=U11.W1) and (U2.C1<>U12.C1 or U2.W1=U12.W1) and (U2.C1<>U13.C1 or U2.W1=U13.W1) and (U2.C1<>U14.C1 or U2.W1=U14.W1) and (U2.C1<>U15.C1 or U2.W1=U15.W1) and (U2.C1<>U16.C1 or U2.W1=U16.W1) and (U3.C1<>U4.C1 or U3.W1=U4.W1) and (U3.C1<>U5.C1 or U3.W1=U5.W1) and (U3.C1<>U6.C1 or U3.W1=U6.W1) and (U3.C1<>U7.C1 or U3.W1=U7.W1) and (U3.C1<>U8.C1 or U3.W1=U8.W1) and (U3.C1<>U9.C1 or U3.W1=U9.W1) and (U3.C1<>U10.C1 or U3.W1=U10.W1) and (U3.C1<>U11.C1 or U3.W1=U11.W1) and (U3.C1<>U12.C1 or U3.W1=U12.W1) and (U3.C1<>U13.C1 or U3.W1=U13.W1) and (U3.C1<>U14.C1 or U3.W1=U14.W1) and (U3.C1<>U15.C1 or U3.W1=U15.W1) and (U3.C1<>U16.C1 or U3.W1=U16.W1) and (U4.C1<>U5.C1 or U4.W1=U5.W1) and (U4.C1<>U6.C1 or U4.W1=U6.W1) and (U4.C1<>U7.C1 or U4.W1=U7.W1) and (U4.C1<>U8.C1 or U4.W1=U8.W1) and (U4.C1<>U9.C1 or U4.W1=U9.W1) and (U4.C1<>U10.C1 or U4.W1=U10.W1) and (U4.C1<>U11.C1 or U4.W1=U11.W1) and (U4.C1<>U12.C1 or U4.W1=U12.W1) and (U4.C1<>U13.C1 or U4.W1=U13.W1) and (U4.C1<>U14.C1 or U4.W1=U14.W1) and (U4.C1<>U15.C1 or U4.W1=U15.W1) and (U4.C1<>U16.C1 or U4.W1=U16.W1) and (U5.C1<>U6.C1 or U5.W1=U6.W1) and (U5.C1<>U7.C1 or U5.W1=U7.W1) and (U5.C1<>U8.C1 or U5.W1=U8.W1) and (U5.C1<>U9.C1 or U5.W1=U9.W1) and (U5.C1<>U10.C1 or U5.W1=U10.W1) and (U5.C1<>U11.C1 or U5.W1=U11.W1) and (U5.C1<>U12.C1 or U5.W1=U12.W1) and (U5.C1<>U13.C1 or U5.W1=U13.W1) and (U5.C1<>U14.C1 or U5.W1=U14.W1) and (U5.C1<>U15.C1 or U5.W1=U15.W1) and (U5.C1<>U16.C1 or U5.W1=U16.W1) and (U6.C1<>U7.C1 or U6.W1=U7.W1) and (U6.C1<>U8.C1 or U6.W1=U8.W1) and (U6.C1<>U9.C1 or U6.W1=U9.W1) and (U6.C1<>U10.C1 or U6.W1=U10.W1) and (U6.C1<>U11.C1 or U6.W1=U11.W1) and (U6.C1<>U12.C1 or U6.W1=U12.W1) and (U6.C1<>U13.C1 or U6.W1=U13.W1) and (U6.C1<>U14.C1 or U6.W1=U14.W1) and (U6.C1<>U15.C1 or U6.W1=U15.W1) and (U6.C1<>U16.C1 or U6.W1=U16.W1) and (U7.C1<>U8.C1 or U7.W1=U8.W1) and (U7.C1<>U9.C1 or U7.W1=U9.W1) and (U7.C1<>U10.C1 or U7.W1=U10.W1) and (U7.C1<>U11.C1 or U7.W1=U11.W1) and (U7.C1<>U12.C1 or U7.W1=U12.W1) and (U7.C1<>U13.C1 or U7.W1=U13.W1) and (U7.C1<>U14.C1 or U7.W1=U14.W1) and (U7.C1<>U15.C1 or U7.W1=U15.W1) and (U7.C1<>U16.C1 or U7.W1=U16.W1) and (U8.C1<>U9.C1 or U8.W1=U9.W1) and (U8.C1<>U10.C1 or U8.W1=U10.W1) and (U8.C1<>U11.C1 or U8.W1=U11.W1) and (U8.C1<>U12.C1 or U8.W1=U12.W1) and (U8.C1<>U13.C1 or U8.W1=U13.W1) and (U8.C1<>U14.C1 or U8.W1=U14.W1) and (U8.C1<>U15.C1 or U8.W1=U15.W1) and (U8.C1<>U16.C1 or U8.W1=U16.W1) and (U9.C1<>U10.C1 or U9.W1=U10.W1) and (U9.C1<>U11.C1 or U9.W1=U11.W1) and (U9.C1<>U12.C1 or U9.W1=U12.W1) and (U9.C1<>U13.C1 or U9.W1=U13.W1) and (U9.C1<>U14.C1 or U9.W1=U14.W1) and (U9.C1<>U15.C1 or U9.W1=U15.W1) and (U9.C1<>U16.C1 or U9.W1=U16.W1) and (U10.C1<>U11.C1 or U10.W1=U11.W1) and (U10.C1<>U12.C1 or U10.W1=U12.W1) and (U10.C1<>U13.C1 or U10.W1=U13.W1) and (U10.C1<>U14.C1 or U10.W1=U14.W1) and (U10.C1<>U15.C1 or U10.W1=U15.W1) and (U10.C1<>U16.C1 or U10.W1=U16.W1) and (U11.C1<>U12.C1 or U11.W1=U12.W1) and (U11.C1<>U13.C1 or U11.W1=U13.W1) and (U11.C1<>U14.C1 or U11.W1=U14.W1) and (U11.C1<>U15.C1 or U11.W1=U15.W1) and (U11.C1<>U16.C1 or U11.W1=U16.W1) and (U12.C1<>U13.C1 or U12.W1=U13.W1) and (U12.C1<>U14.C1 or U12.W1=U14.W1) and (U12.C1<>U15.C1 or U12.W1=U15.W1) and (U12.C1<>U16.C1 or U12.W1=U16.W1) and (U13.C1<>U14.C1 or U13.W1=U14.W1) and (U13.C1<>U15.C1 or U13.W1=U15.W1) and (U13.C1<>U16.C1 or U13.W1=U16.W1) and (U14.C1<>U15.C1 or U14.W1=U15.W1) and (U14.C1<>U16.C1 or U14.W1=U16.W1) and (U15.C1<>U16.C1 or U15.W1=U16.W1); + + + -- create table W + create table w(cid bigint, lwid bigint, aid serial); + + insert into w + select c1,w1 from u_n_nationkey + union select c1,w1 from u_n_name + union select c1,w1 from u_n_regionkey + union select c1,w1 from u_n_comment + -- + union select c1,w1 from u_r_regionkey + union select c1,w1 from u_r_name + union select c1,w1 from u_r_comment + -- + union select c1,w1 from u_p_partkey + union select c1,w1 from u_p_name + union select c1,w1 from u_p_mfgr + union select c1,w1 from u_p_brand + union select c1,w1 from u_p_type + union select c1,w1 from u_p_size + union select c1,w1 from u_p_container + union select c1,w1 from u_p_retailprice + union select c1,w1 from u_p_comment + -- + union select c1,w1 from u_s_suppkey + union select c1,w1 from u_s_name + union select c1,w1 from u_s_address + union select c1,w1 from u_s_nationkey + union select c1,w1 from u_s_phone + union select c1,w1 from u_s_acctbal + union select c1,w1 from u_s_comment + -- + union select c1,w1 from u_ps_partkey + union select c1,w1 from u_ps_suppkey + union select c1,w1 from u_ps_availqty + union select c1,w1 from u_ps_supplycost + union select c1,w1 from u_ps_comment + -- + union select c1,w1 from u_c_custkey + union select c1,w1 from u_c_name + union select c1,w1 from u_c_address + union select c1,w1 from u_c_nationkey + union select c1,w1 from u_c_phone + union select c1,w1 from u_c_acctbal + union select c1,w1 from u_c_mktsegment + union select c1,w1 from u_c_comment + -- + union select c1,w1 from u_o_orderkey + union select c1,w1 from u_o_custkey + union select c1,w1 from u_o_orderstatus + union select c1,w1 from u_o_totalprice + union select c1,w1 from u_o_orderdate + union select c1,w1 from u_o_orderpriority + union select c1,w1 from u_o_clerk + union select c1,w1 from u_o_shippriority + union select c1,w1 from u_o_comment + -- + union select c1,w1 from u_l_orderkey + union select c1,w1 from u_l_partkey + union select c1,w1 from u_l_suppkey + union select c1,w1 from u_l_linenumber + union select c1,w1 from u_l_quantity + union select c1,w1 from u_l_extendedprice + union select c1,w1 from u_l_discount + union select c1,w1 from u_l_tax + union select c1,w1 from u_l_returnflag + union select c1,w1 from u_l_linestatus + union select c1,w1 from u_l_shipdate + union select c1,w1 from u_l_commitdate + union select c1,w1 from u_l_receiptdate + union select c1,w1 from u_l_shipinstruct + union select c1,w1 from u_l_shipmode + union select c1,w1 from u_l_comment; \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000..84b38f0 --- /dev/null +++ b/README @@ -0,0 +1,35 @@ +WWW graph benchmark + +A variation of the random graph example using web graph data. +The zip file contains a set of SQL scripts intended for use with Postgres (small +modifications might be necessary to run them on a different DBMS). +The scripts create a U-relational representations of a random +graph, and of the answers to queries on the random graph, where each world in +the the database corresponds to one particular instance of the random graph, and +has a corresponding probability. + +The graph structure is taken from the web graph data set available at +http://www.nd.edu/~networks/resources/www/www.dat.gz + +We assign probabilities to the edges relative to the degree of the end nodes, thus the graph has +few edges with high probability, with the majority of edges having low +probability. The dataset contains an example query showing how to construct +the answer to a query looking for the occurrence of a pattern in the random graph, +such as for example a triangle etc. + +* import-www-data.sql - imports the data into relational tables +* init-www-nodes.sql - select a subset of the nodes of the whole graph +* init-www-graph.sql - assign weights to the edges of the graph, giving higher weights to edges whose end nodes have high degree. +* triangle-query.sql - execute the triangle query on the graph (without the conf part). + +See the comments inside the SQL source files for a more detailed description. + +To use the benchmark run the following sequence of steps: +* unzip the WWW graph file and make sure it is called www.dat +* psql -f import-www-data.sql +* psql -f init-www-nodes.sql +* psql -c "select * from init_www_nodes(0.1);" +* psql -f init-www-graph.sql +* psql -f triangle-query.sql + +(Node: see psql options for specifiying database name etc) diff --git a/TPCH-Trio/create_horizontal_schema.triql b/TPCH-Trio/create_horizontal_schema.triql new file mode 100644 index 0000000..e0cd3de --- /dev/null +++ b/TPCH-Trio/create_horizontal_schema.triql @@ -0,0 +1,105 @@ +CREATE TRIO TABLE PARTSUPP ( +PARTKEY int, +SUPPKEY int, +AVAILQTY int, +SUPPLYCOST float, +COMMENT varchar(79), +uncertain(partkey, suppkey, availqty, supplycost) +) with confidences; + +CREATE TRIO TABLE LINEITEM ( +ORDERKEY int, +PARTKEY int, +SUPPKEY int, +LINENUMBER int, +QUANTITY float, +EXTENDEDPRICE float, +DISCOUNT float, +TAX float, +RETURNFLAG varchar(1), +LINESTATUS varchar(1), +SHIPDATE varchar(10), +COMMITDATE varchar(10), +RECEIPTDATE varchar(10), +SHIPINSTRUCT varchar(25), +SHIPMODE varchar(10), +COMMENT varchar(44), +uncertain(ORDERKEY,PARTKEY,SUPPKEY,LINENUMBER,QUANTITY,EXTENDEDPRICE,DISCOUNT,TAX,RETURNFLAG,LINESTATUS,SHIPDATE,COMMITDATE,RECEIPTDATE,SHIPINSTRUCT,SHIPMODE,COMMENT) +) with confidences; + +CREATE TRIO TABLE ORDERS ( +ORDERKEY int, +CUSTKEY int, +ORDERSTATUS varchar(1), +TOTALPRICE float, +ORDERDATE varchar(10), +ORDERPRIORITY varchar(15), +CLERK varchar(15), +SHIPPRIORITY int, +COMMENT varchar(79), +uncertain(ORDERKEY,CUSTKEY,ORDERSTATUS,TOTALPRICE,ORDERDATE,ORDERPRIORITY,CLERK,SHIPPRIORITY,COMMENT)) +with confidences; + +CREATE TRIO TABLE PART ( +PARTKEY int, +NAME varchar(48), +MFGR varchar(32), +BRAND varchar(32), +TYPE varchar(32), +SIZE int, +CONTAINER varchar(32), +RETAILPRICE float, +COMMENT varchar(79), +uncertain(PARTKEY,NAME,MFGR,BRAND,TYPE,SIZE,CONTAINER,RETAILPRICE,COMMENT)) +with confidences; + +CREATE TRIO TABLE SUPPLIER ( +SUPPKEY int, +NAME varchar(48), +ADDRESS varchar(32), +NATIONKEY int, +PHONE varchar(32), +ACCTBAL float, +COMMENT varchar(79), +uncertain(SUPPKEY,NAME,ADDRESS,NATIONKEY,PHONE,ACCTBAL,COMMENT)) +with confidences; + +CREATE TRIO TABLE CUSTOMER ( +CUSTKEY int, +NAME varchar(48), +ADDRESS varchar(32), +NATIONKEY int, +PHONE varchar(32), +ACCTBAL float, +MKTSEGMENT varchar(32), +COMMENT varchar(79), +uncertain(CUSTKEY,NAME,ADDRESS,NATIONKEY,PHONE,ACCTBAL,MKTSEGMENT,COMMENT)) +with confidences; + +CREATE TRIO TABLE NATION ( +NATIONKEY int, +NAME varchar(48), +REGIONKEY int, +COMMENT varchar(79), +uncertain(NATIONKEY,NAME,REGIONKEY,COMMENT)) +with confidences; + +CREATE TRIO TABLE REGION ( +REGIONKEY int, +NAME varchar(48), +COMMENT varchar(79)) +with confidences; + +create index lineitem_orderkey_idx on lineitem(orderkey); +create index lineitem_partkey_idx on lineitem(partkey); +create index lineitem_suppkey_idx on lineitem(suppkey); +create index orders_orderkey_idx on orders(orderkey); +create index orders_custkey_idx on orders(custkey); +create index partsupp_partkey_idx on partsupp(partkey); +create index partsupp_suppkey_idx on partsupp(suppkey); +create index part_partkey_idx on part(partkey); +create index supplier_suppkey_idx on supplier(suppkey); +create index customer_custkey_idx on customer(custkey); +create index nation_nationkey_idx on nation(nationkey); +create index region_regionkey_idx on region(regionkey); + diff --git a/TPCH-Trio/create_vertical_schema.triql b/TPCH-Trio/create_vertical_schema.triql new file mode 100644 index 0000000..cd12dec --- /dev/null +++ b/TPCH-Trio/create_vertical_schema.triql @@ -0,0 +1,150 @@ +CREATE TRIO TABLE PARTSUPP_SF1_V_0 ( +ID int, +PARTKEY int +) with confidences; + +CREATE TRIO TABLE PARTSUPP_SF1_V_1 ( +ID int, +SUPPKEY int +) with confidences; + +CREATE TRIO TABLE PARTSUPP_SF1_V_2 ( +ID int, +AVAILQTY int +) with confidences; + +CREATE TRIO TABLE PARTSUPP_SF1_V_3 ( +ID int, +SUPPLYCOST float +) with confidences; + +CREATE TRIO TABLE PARTSUPP_SF1_V_4 ( +ID int, +COMMENT varchar(200) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_0 ( +ID int, +ORDERKEY int +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_1 ( +ID int, +PARTKEY int +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_2 ( +ID int, +SUPPKEY int +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_3 ( +ID int, +LINENUMBER int +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_4 ( +ID int, +QUANTITY float +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_5 ( +ID int, +EXTENDEDPRICE float +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_6 ( +ID int, +DISCOUNT float +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_7 ( +ID int, +TAX float +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_8 ( +ID int, +RETURNFLAG varchar(1) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_9 ( +ID int, +STATUS varchar(1) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_10 ( +ID int, +SHIPDATE varchar(10) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_11 ( +ID int, +COMMITDATE varchar(10) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_12 ( +ID int, +RECEIPTDATE varchar(10) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_13 ( +ID int, +SHIPINSTRUCT varchar(25) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_14 ( +ID int, +SHIPMODE varchar(10) +) with confidences; + +CREATE TRIO TABLE LINEITEM_SF1_V_15 ( +ID int, +COMMENT varchar(44) +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_0 ( +ID int, +ORDERKEY int +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_1 ( +ID int, +CUSTKEY int +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_2 ( +ID int, +ORDERSTATUS varchar(1) +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_3 ( +ID int, +TOTALPRICE float +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_4 ( +ID int, +ORDERDATE varchar(10) +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_5 ( +ID int, +ORDERPRIORITY varchar(15) +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_6 ( +ID int, +CLERK varchar(15) +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_7 ( +ID int, +SHIPPRIORITY int +) with confidences; + +CREATE TRIO TABLE ORDER_SF1_V_8 ( +ID int, +COMMENT varchar(79) +) with confidences; + diff --git a/TPCH-Trio/run_horizontal_partitioner.sh b/TPCH-Trio/run_horizontal_partitioner.sh new file mode 100644 index 0000000..8d0efe9 --- /dev/null +++ b/TPCH-Trio/run_horizontal_partitioner.sh @@ -0,0 +1,27 @@ +./tpch_horizontal_partitioner.py ../tpch/lineitem.tbl 0 0 16 1 lineitem > /tmp/theobald/tpch/lineitem_1.triql +./tpch_horizontal_partitioner.py ../tpch/orders.tbl 0 0 9 1 orders > /tmp/theobald/tpch/orders_1.triql +./tpch_horizontal_partitioner.py ../tpch/partsupp.tbl 0 0 5 1 partsupp > /tmp/theobald/tpch/partsupp_1.triql +./tpch_horizontal_partitioner.py ../tpch/customer.tbl 0 0 8 1 customer > /tmp/theobald/tpch/customer_1.triql +./tpch_horizontal_partitioner.py ../tpch/part.tbl 0 0 9 1 part > /tmp/theobald/tpch/part_1.triql +./tpch_horizontal_partitioner.py ../tpch/supplier.tbl 0 0 7 1 supplier > /tmp/theobald/tpch/supplier_1.triql +./tpch_horizontal_partitioner.py ../tpch/nation.tbl 0 0 8 1 nation > /tmp/theobald/tpch/nation_1.triql +./tpch_horizontal_partitioner.py ../tpch/region.tbl 0 0 3 1 region > /tmp/theobald/tpch/region_1.triql + +./tpch_horizontal_partitioner.py ../tpch/lineitem.tbl 0 0 16 10 lineitem > /tmp/theobald/tpch/lineitem_10.triql +./tpch_horizontal_partitioner.py ../tpch/orders.tbl 0 0 9 10 orders > /tmp/theobald/tpch/orders_10.triql +./tpch_horizontal_partitioner.py ../tpch/partsupp.tbl 0 0 5 10 partsupp > /tmp/theobald/tpch/partsupp_10.triql +./tpch_horizontal_partitioner.py ../tpch/customer.tbl 0 0 8 10 customer > /tmp/theobald/tpch/customer_10.triql +./tpch_horizontal_partitioner.py ../tpch/part.tbl 0 0 9 10 part > /tmp/theobald/tpch/part_10.triql +./tpch_horizontal_partitioner.py ../tpch/supplier.tbl 0 0 7 10 supplier > /tmp/theobald/tpch/supplier_10.triql +./tpch_horizontal_partitioner.py ../tpch/nation.tbl 0 0 8 10 nation > /tmp/theobald/tpch/nation_10.triql +./tpch_horizontal_partitioner.py ../tpch/region.tbl 0 0 3 1 region > /tmp/theobald/tpch/region_10.triql + +./tpch_horizontal_partitioner.py ../tpch/lineitem.tbl 0 0 16 100 lineitem > /tmp/theobald/tpch/lineitem_100.triql +./tpch_horizontal_partitioner.py ../tpch/orders.tbl 0 0 9 100 orders > /tmp/theobald/tpch/orders_100.triql +./tpch_horizontal_partitioner.py ../tpch/partsupp.tbl 0 0 5 100 partsupp > /tmp/theobald/tpch/partsupp_100.triql +./tpch_horizontal_partitioner.py ../tpch/customer.tbl 0 0 8 100 customer > /tmp/theobald/tpch/customer_100.triql +./tpch_horizontal_partitioner.py ../tpch/part.tbl 0 0 9 100 part > /tmp/theobald/tpch/part_100.triql +./tpch_horizontal_partitioner.py ../tpch/supplier.tbl 0 0 7 100 supplier > /tmp/theobald/tpch/supplier_100.triql +./tpch_horizontal_partitioner.py ../tpch/nation.tbl 0 0 8 1 nation > /tmp/theobald/tpch/nation_100.triql +./tpch_horizontal_partitioner.py ../tpch/region.tbl 0 0 3 1 region > /tmp/theobald/tpch/region_100.triql + diff --git a/TPCH-Trio/tpch_horizontal_partitioner.py b/TPCH-Trio/tpch_horizontal_partitioner.py new file mode 100644 index 0000000..24911ae --- /dev/null +++ b/TPCH-Trio/tpch_horizontal_partitioner.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python + +import sys +import re +import random + +if len(sys.argv) != 7: + print 'invalid arg' + print 'Usage: ' + sys.argv[0] + ' filename #lines #partitions #attributes #maxalts tablename' + sys.exit(1) + +filename=sys.argv[1] +lines=int(sys.argv[2]) +partitions=int(sys.argv[3]) +attrs=int(sys.argv[4]) +maxalts=int(sys.argv[5]) +tablename=sys.argv[6] + +f=open(filename, 'r') + +lineno = 0 +part_no = 1 +part_lines = 0 + +next_alts = random.randint(1, maxalts) +xtuple=[] + +while 1: + line = f.readline() + if line: + line = re.sub(';','', line) + line = re.split('\|', line) + line.pop() + xtuple.append(line) + + if (not line and len(xtuple) > 0) or len(xtuple) == next_alts: + str = "insert into %s%s values[(" % (tablename, (partitions > 0 and str(part_no) or "")) + i = 0 + for alt in xtuple: + j = 0 + for attr in alt: + if re.match("^[+-]?\d*\.?\d+?$", attr): + str += attr + else: + str += "\'" + attr + "\'" + if j == attrs - 1 or j == len(alt) - 1: + str += "):%s" % (len(xtuple) == 1 and 1 or (1.0 / len(xtuple))) + else: + str += ',' + j += 1 + if j == len(alt): + break + if i < len(xtuple) - 1: + str += "|(" + else: + str += "];" + i += 1 + + print str + + xtuple=[] + next_alts = random.randint(1, maxalts) + if partitions > 0 and lines > 0 and part_lines >= lines / partitions: + part_no += 1 + part_lines = 0 + + if not line: + break + + lineno += 1 + part_lines += 1 + if part_lines % 1000 == 0: + print "commit;" + +print "commit;" diff --git a/TPCH-Trio/tpch_vertical_partitioner.py b/TPCH-Trio/tpch_vertical_partitioner.py new file mode 100644 index 0000000..191149a --- /dev/null +++ b/TPCH-Trio/tpch_vertical_partitioner.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python + +import sys +import re +import random + +if len(sys.argv) != 4: + print 'invalid arg' + print 'Usage: ' + sys.argv[0] + ' filename #maxalts tablename' + sys.exit(1) + +filename=sys.argv[1] +maxalts=int(sys.argv[2]) +tablename=sys.argv[3] + +try: + f=open(filename, 'r') +except: + print 'open error' + sys.exit(2) + +lineno=0 +alts = 0 +next_alts = random.randint(1, maxalts) +xtuple=[] +xtups = 0 + +while 1: + line = f.readline() + if line != "": + line = re.sub(';','', line) + line = re.split('\|', line) + line.pop() + xtuple.append(line) + alts += 1 + + if alts == next_alts or line == "": + inserts = [] + for i in range(len(xtuple)): + line = xtuple[i] + for j in range(len(line)): + if i == 0: + str = 'insert into %s_%s values[ (' % (tablename, j) + inserts.append(str) + else: + str = inserts[j] + + if re.match('^[+-]?\d*\.?\d+?$', line[j]): + str += '%s, %s' % (xtups + i, line[j]) + else: + str += '%s, \'%s\'' % (xtups + i, line[j]) + + if i == len(xtuple)-1: + str += ' ):%s ];' % (alts == 1 and 1 or (1.0 / alts)) + print str + else: + str += ' ):%s | ( ' % (alts == 1 and 1 or (1.0 / alts)) + inserts[j] = str + + next_alts = random.randint(1, maxalts) + xtups += len(xtuple) + xtuple=[] + alts = 0 + if line == "": + print 'commit;' + #print "%d ALTS." % xtups + sys.exit(2) + + lineno += 1 + if lineno % 1000 == 0: + print 'commit;' + #print "%d ALTS." % xtups + diff --git a/census/Chase/dependencies.xml b/census/Chase/dependencies.xml new file mode 100644 index 0000000..281a7fe --- /dev/null +++ b/census/Chase/dependencies.xml @@ -0,0 +1,248 @@ + + + postgres + lantova + abcd + + + + eq + + + CITIZEN + = + 0 + + + + + IMMIGR + = + 0 + + + + + eq + + + CITIZEN + > + 0 + + + + + IMMIGR + > + 0 + + + + + eq + + + FEB55 + = + 1 + + + + + MILITARY + != + 4 + + + + + eq + + + KOREAN + = + 1 + + + + + MILITARY + != + 4 + + + + + eq + + + VIETNAM + = + 1 + + + + + MILITARY + != + 4 + + + + + eq + + + WWII + = + 1 + + + + + MILITARY + != + 4 + + + + + eq + + + MARITAL + = + 0 + + + + + RSPOUSE + != + 6 + + + + + eq + + + MARITAL + = + 0 + + + + + RSPOUSE + != + 5 + + + + + eq + + + MARITAL + = + 0 + + + + + RSPOUSE + != + 4 + + + + + eq + + + LANG1 + = + 2 + + + + + ENGLISH + != + 4 + + + + + eq + + + RPOB + = + 52 + + + + + CITIZEN + != + 0 + + + + + eq + + + SCHOOL + = + 0 + + + + + KOREAN + != + 1 + + + + + eq + + + SCHOOL + = + 0 + + + + + FEB55 + != + 1 + + + + + eq + + + SCHOOL + = + 0 + + + + + WWII + != + 1 + + + + + + diff --git a/census/Chase/jdbc3.jar b/census/Chase/jdbc3.jar new file mode 100644 index 0000000..786147b Binary files /dev/null and b/census/Chase/jdbc3.jar differ diff --git a/census/Chase/prsel.sql b/census/Chase/prsel.sql new file mode 100644 index 0000000..a5a91f4 --- /dev/null +++ b/census/Chase/prsel.sql @@ -0,0 +1,61 @@ +CREATE OR REPLACE FUNCTION project_select(relname text, mapname text, compname text, worldname text, newrelname text, newmapname text, newcompname text, newworldname text, attributes _text, "left" _text, op _text, "right" _text) + RETURNS void AS +$BODY$ DECLARE cols text; + colsQuoted text; + cond1 text; -- the condition used to filter the template relation; form: (A1 op1 c1 OR A1 IS NULL) AND (A2 op2 c2 OR A2 IS NULL) AND ... + cond3 text; -- the condition used for filtering the component relation; form: WHEN 'A1' THEN Value op1 c1 WHEN 'A2' THEN Value op2 c2 ... + cond4 text; -- the condition used to filter the mapping relation; form: Col NOT IN ('A', 'B', ...) + size integer; + BEGIN + cond1 = ''; + cond3 = ''; + + IF array_upper(attributes, 1) = 1 AND attributes[1] = '*' THEN + cols = '*'; + cond4 = 'false'; + ELSE + cols = 'TID, ' || array_to_string(attributes, ','); + colsQuoted = '''' || array_to_string(attributes, ''',''') || ''''; + cond4 = 'Col NOT IN (' || colsQuoted || ') '; + END IF; + size = array_upper(left, 1); + FOR i IN 1..size LOOP + IF i > 1 THEN + cond1 = cond1 || ' AND (' || left[i] || ' ' || op[i] || ' ' || right[i] || ' OR ' || left[i] || ' = -1)'; + ELSE + cond1 = '(' || left[i] || ' ' || op[i] || ' ' || right[i] || ' OR ' || left[i] || ' = -1)'; + END IF; + cond3 = cond3 || ' WHEN ' || quote_literal(left[i]) || ' THEN Value ' || op[i] || ' ' || right[i]; + END LOOP; + EXECUTE ' + CREATE TABLE ' || newRelName || ' AS + SELECT ' || cols || ' FROM ' || relName || ' WHERE ' || cond1 || ';'; + EXECUTE ' + CREATE TABLE ' || newMapName || ' AS SELECT * FROM ' || mapName || ' WHERE Relation = ' || quote_literal(relName) + || ' AND TID IN (SELECT TID FROM ' || newRelName || ');'; + EXECUTE ' + CREATE TABLE ' || newCompName || ' AS + SELECT ' || compName || '.* FROM ' || compName || ', ' || newMapName || ' + WHERE ' || compName || '.HID = ' || newMapName || '.HID AND + (CASE Col ' || cond3 || ' ELSE true END);'; + EXECUTE ' + CREATE TABLE DEL WITHOUT OIDS AS + SELECT TID FROM ' || newMapName || ' + WHERE HID NOT IN (SELECT HID FROM ' || newCompName || ');'; + EXECUTE ' + DELETE FROM ' || newRelName || ' + WHERE TID IN (SELECT DEL.TID FROM DEL); + DELETE FROM ' || newMapName || ' + WHERE ' || cond4 || ' OR TID IN (SELECT DEL.TID FROM DEL);'; + EXECUTE ' + DELETE FROM ' || newCompName || ' + WHERE HID NOT IN (SELECT HID FROM ' || newMapName || ');'; + DROP TABLE DEL; + --EXECUTE ' + -- CREATE TABLE ' || newWorldName || ' AS SELECT DISTINCT ' || worldName || '.* FROM ' || worldName || ', ' || newCompName || + -- ' WHERE ' || worldName || '.cid = ' || newCompName || '.cid AND ' || worldName || '.wid = ' || newCompName || '.wid;'; + RETURN; +END; +$BODY$ + LANGUAGE 'plpgsql' VOLATILE; + diff --git a/census/Chase/src/Chaser.java b/census/Chase/src/Chaser.java new file mode 100644 index 0000000..dcbf66e --- /dev/null +++ b/census/Chase/src/Chaser.java @@ -0,0 +1,706 @@ +import java.sql.*; +import java.util.ArrayList; +import java.util.HashMap; + + +/** + * @author Lublena + * + */ +public class Chaser +{ + private Connection dbConnection; + private Statement sqlStatement; + + /** + * Name of the template relation + */ + private String templateRelName; + /** + * Name of the mapping relation + */ + private String mappingRelName; + /** + * Name of the components relation + */ + private String compRelName; + /** + * Name of the world relation + */ + private String worldRelName; + + /** + * Number of pairs of components that were merged during the chasing phase. + */ + public int merged; + + /** + * Constructs a new chaser and initializes database connection. + * @param aDatabase Name of the database + * @param aUser Username + * @param aPassword Pasword + * @param aTemplateRelName Name of the template relation + * @param aMappingRelName Name of the mapping relation + * @param aCompRelName Name of the components relation + * @param aWorldRelName Name of the world relation + */ + public Chaser(String aDatabase, String aUser, String aPassword, + String aTemplateRelName, String aMappingRelName, String aCompRelName, + String aWorldRelName) + { + init(aDatabase, aUser, aPassword); + templateRelName = aTemplateRelName; + mappingRelName = aMappingRelName; + compRelName = aCompRelName; + worldRelName = aWorldRelName; + merged = 0; + } + + /** + * Initializes database connection. + * @param aDatabase Name of the database to connect to + * @param aUser Username + * @param aPassword Password + */ + private void init(String aDatabase, String aUser, String aPassword) + { + try + { + Class.forName("org.postgresql.Driver"); //load the driver + + dbConnection = DriverManager.getConnection("jdbc:postgresql:" + aDatabase, + aUser, aPassword); + sqlStatement = dbConnection.createStatement(); + } + catch (SQLException e) + { + System.out.println("Could not connect to the database!"); + e.printStackTrace(); + return; + } + catch (ClassNotFoundException e) + { + System.out.println("Could not load database driver!"); + return; + } + } + + /** + * Closes connection to the database. + * + */ + public void closeConnection() + { + try + { + sqlStatement.close(); + dbConnection.close(); + } + catch (SQLException e) + { + // Ignore + return; + } + } + + private boolean applyFD(FDependency aFD) + { + // TODO: Implement + return true; + } + + /** + * Enforces an equality-generating dependency on the database by deleting invalid + * worlds. + * @param aEQD An equality-generating dependency to enforce + * @return True if the dependency was successfully enforced, + * false if the database was inconsistent. + */ + private boolean applyEQD(EQDependency aEQD) + { + // Find tuples that do not satisfy the dependency + //ArrayList terms = aEQD.getTerms(); + //ArrayList rterms = aEQD.getRTerms(); + + //ArrayList terms = aEQD.getTerms(); + ArrayList rterms = aEQD.getRTerms(); + + + Term t = (Term) rterms.get(0); + StringBuffer leftArrayBuilder = new StringBuffer("'{\"" + t.left + "\""); + StringBuffer opArrayBuilder = new StringBuffer("'{\"" + t.op + "\""); + StringBuffer rightArrayBuilder = new StringBuffer("'{\"" + t.right + "\""); + + // Construct the left, op and right arrays needed for the call to project_select + for (int i = 1; i < rterms.size(); ++i) + { + Term term = (Term) rterms.get(i); + leftArrayBuilder.append(",\"" + term.left + "\""); + opArrayBuilder.append(",\"" + term.op + "\""); + rightArrayBuilder.append(",\"" + term.right + "\""); + } + + leftArrayBuilder.append("}'"); + opArrayBuilder.append("}'"); + rightArrayBuilder.append("}'"); + + // Construct command for retrieving the rows not satisfying the given dependency + StringBuffer commandBuilder = new StringBuffer("select project_select("); + commandBuilder.append("'" + templateRelName + "','" + mappingRelName + "','" + + compRelName + "','" + worldRelName + "',"); + commandBuilder.append("'eqRel', 'eqMap', 'eqComp', 'eqWorld', "); + commandBuilder.append(leftArrayBuilder.toString() + "," + leftArrayBuilder.toString() + ","); + commandBuilder.append(opArrayBuilder.toString() + "," + rightArrayBuilder.toString() + ")"); + + String command = commandBuilder.toString(); + + //String command = constructStatement(rterms); + + try + { + //System.out.println("Executing query " + commandBuilder.toString()); + sqlStatement.execute(command); + + StringBuffer sql = new StringBuffer("SELECT cid, hid FROM " + mappingRelName); + sql.append(" WHERE tid = ? AND Col = ?;"); + + PreparedStatement holePropertiesStatement = dbConnection.prepareStatement(sql.toString()); + //Statement statement = dbConnection.createStatement(); + + ResultSet rs = sqlStatement.executeQuery("SELECT * FROM eqRel"); + + //ResultSet rs = sqlStatement.executeQuery(command); + + // Prepare ArrayList that will hold information for the bulk operations + ArrayList bulkDeleteInfo = new ArrayList(); + ArrayList bulkMergeInfo = new ArrayList(); + + int s = 0; + while (rs.next()) + { + s++; + /*ArrayList compIDs = new ArrayList(); + ArrayList holeIDs = new ArrayList(); + ArrayList inds = new ArrayList(); // indexes of terms that are not true in all worlds + */ + ArrayList compIDs = new ArrayList(); + ArrayList holeIDs = new ArrayList(); + ArrayList inds = new ArrayList(); // indexes of terms that are not true in all worlds + ArrayList invalidTerms = new ArrayList(); + + ArrayList columns = aEQD.getColumns(); + + for (int i = 0; i < columns.size(); ++i) + { + String col = columns.get(i).toString(); + // The current column contains a hole + String val = rs.getString(col); + if (val == null) + { + continue; + } + if (val.equals("-1")) + { + // Retrieve the cid and hid for the hole + holePropertiesStatement.setInt(1, rs.getInt("tid")); + holePropertiesStatement.setString(2, col); + + ResultSet cidhid = holePropertiesStatement.executeQuery(); + if (cidhid.next()) + { + String cid = cidhid.getString("cid"); + String hid = cidhid.getString("hid"); + compIDs.add(cid); + holeIDs.add(hid); + inds.add(new Integer(i)); + invalidTerms.add(rterms.get(i)); + } + else + { + // System.out.println(holePropertiesStatement.toString()); + System.out.println("Warning: No info found for the current hole (" + rs.getInt("tid") + + ", " + col + ")."); + //return false; + } + } // end if (rs.getObject(col) == null) + } // end for(int i = 0; i < columns.size; ++i) + + // Database is inconsistent + if (compIDs.isEmpty()) + { + System.out.println("Incosistent database. Aborting..."); + return false; + } + if (compIDs.size() == 1) + { + bulkDeleteInfo.add(new InvalidInfo(compIDs.get(0), + holeIDs.get(0), invalidTerms.get(0))); + } + else // More than one component involved - merge + { + // !!!Dirty fix - there are exactly two components to merge, + // which are independent of the components in the rest of the tuples + // TODO: Figure out what to do when this is not the case + + String c1 = compIDs.get(0).toString(); + String c2 = compIDs.get(1).toString(); + + String h1 = holeIDs.get(0).toString(); + String h2 = holeIDs.get(1).toString(); + + Term t1 = (Term) invalidTerms.get(0); + Term t2 = (Term) invalidTerms.get(1); + + String c = c1 + "x" + c2; + bulkMergeInfo.add(new InvalidInfoPair(c,c1,c2,h1,h2,t1,t2)); + } + } // end while(rs.next) + + System.out.println("Size of intermediate results: " + s); + // Perform bulk operations + Statement bulkStatement = dbConnection.createStatement(); + if (!bulkDeleteInfo.isEmpty()) + { + bulkDelete(bulkStatement, bulkDeleteInfo); + } + if (!bulkMergeInfo.isEmpty()) + { + bulkMerge(bulkStatement, bulkMergeInfo); + } + // Drop intermediate results + try + { + sqlStatement.executeUpdate("DROP TABLE eqRel; DROP TABLE eqMap; DROP TABLE eqComp;"); + sqlStatement.executeUpdate("DROP TABLE eqWorld;"); + } + catch (SQLException e) + { + // Ignore + } + + } + catch (SQLException e) + { + System.out.println("Error occured when chasing dependency " + aEQD.toString()); + e.printStackTrace(); + return false; + } + return true; + } + /** + * Updates the entries in the mapping and components tables after the components + * in the given ArrayList have been merged. + * @param statement The Statement used to perform the updates. + * @param oldCompIDs ArrayList of component IDs that have been merged. + * @param newCompID Name of the new component that replaced the old ones. + */ + private void updateTables(Statement statement, ArrayList oldCompIDs, String newCompID) + throws SQLException + { + StringBuffer sb = new StringBuffer("('" + oldCompIDs.get(0) + "'"); + + for (int i = 1; i < oldCompIDs.size(); ++i) + { + sb.append(",'" + oldCompIDs.get(i).toString() + "'"); + } + sb.append(")"); + String st = "DELETE FROM " + compRelName + " WHERE cid IN " + sb.toString(); + // System.out.println(st); + statement.executeUpdate(st); + st = "UPDATE " + mappingRelName + " SET cid = '" + newCompID + "' WHERE cid IN " + sb.toString(); + statement.executeUpdate(st); + } + /** + * Deletes all worlds in a component that do not satisfy the given conjunctive formula. + * @param statement The Statement used to perform the updates. + * @param comp The name of the component to filter. + * @param rterms A conjunction of terms. + * @param holeIDs IDs of the holes that corespond to the column names in the formula. + * @param inds Indices of the terms that should be taken into account when filtering. + * @throws SQLException + */ + private void deleteInvalid(Statement statement, String comp, ArrayList rterms, ArrayList holeIDs, ArrayList inds) + throws SQLException + { + StringBuffer delSQL = new StringBuffer(); + if (holeIDs.size() == 1) + { + delSQL.append("CREATE TABLE INVALID AS SELECT cid, wid FROM " + compRelName); + delSQL.append(" WHERE cid = '" + comp + "'"); + delSQL.append(" AND hid = '" + holeIDs.get(0).toString() + "'"); + int i = (new Integer(inds.get(0).toString())).intValue(); + String op = ((Term) rterms.get(i)).op; + String c = ((Term) rterms.get(i)).right; + // System.out.println("Deleting Values " + op + " " + c); + delSQL.append(" AND Value " + op + " " + c); + statement.executeUpdate(delSQL.toString()); + delSQL.delete(0, delSQL.length()); + delSQL.append("DELETE FROM " + compRelName + " WHERE oid IN (SELECT c.oid FROM INVALID NATURAL JOIN "); + delSQL.append(compRelName + " AS c)"); + statement.executeUpdate(delSQL.toString()); + } + else + { + StringBuffer fromClause = new StringBuffer(compRelName + " C0"); + StringBuffer cond1 = new StringBuffer("C0.cid = '" + comp + + "' AND C0.hid = '" + holeIDs.get(0) + "'"); + int ind = (new Integer(inds.get(0).toString())).intValue(); + Term t = (Term) rterms.get(ind); + StringBuffer cond2 = new StringBuffer("C0.Value " + t.op + " " + + t.right); + StringBuffer cond3 = new StringBuffer(); + + for (int i = 1; i < holeIDs.size(); ++i) + { + fromClause.append("," + compRelName + " C" + i); + cond1.append(" AND C" + i + ".cid = '" + comp + + "' AND C" + i + ".hid = '" + holeIDs.get(i) + "'"); + ind = (new Integer(inds.get(i).toString())).intValue(); + t = (Term) rterms.get(ind); + cond2.append(" AND C" + i + ".Value " + t.op + " " + + t.right); + cond3.append(" AND C" + (i-1) + ".wid = C" + i + ".wid"); + } + + String st = "CREATE TABLE INVALID AS SELECT c0.cid,c0.wid FROM " + fromClause.toString() + + " WHERE " + cond1.toString() + " AND " + cond2.toString() + cond3.toString(); + + statement.executeUpdate(st); + st = "DELETE FROM " + compRelName + " WHERE oid in (SELECT c.oid FROM INVALID NATURAL JOIN " + + compRelName + " AS c);"; + // System.out.println(st); + statement.executeUpdate(st); + } // end else + + // Delete intermediate results + statement.executeUpdate("DROP TABLE INVALID;"); + + } + + + /** + * Performs a bulk delete to remove inconsistencies from the database + * @param invalid ArrayList of InvalidInfo items, denoting which worlds in which components + * @param statement Statement to execute the SQL commands with + * should be deleted. + */ + private void bulkDelete(Statement statement, ArrayList invalid) throws SQLException + { + StringBuffer sb = new StringBuffer(); + + int size = invalid.size(); + int j; + int n; + int i = 0; + while (i < size) + { + j = i; + n = i + 250; + if (n > size) + { + n = size; + } + for (; j < n; ++j) + { + InvalidInfo info = (InvalidInfo) invalid.get(j); + if (j > i) + { + sb.append(" OR "); + } + sb.append("(cid = '" + info.cid + "' AND hid = '" + info.hid + "'"); + sb.append(" AND Value " + info.t.op + " '" + info.t.right + "')"); + } + + // Create table of invalid worlds + String createInvalid = "CREATE TABLE Invalid AS SELECT cid,wid FROM " + compRelName + + " WHERE " + sb.toString(); + statement.executeUpdate(createInvalid); + + String delete = "DELETE FROM " + compRelName + + " WHERE oid IN (SELECT c.oid FROM Invalid NATURAL JOIN " + compRelName + " AS c);"; + statement.executeUpdate(delete); + // Drop table of invalid worlds + statement.executeUpdate("DROP TABLE Invalid;"); + + i += (n-i); + sb.delete(0, sb.length()); + } + } + + + private String generateDelete(InvalidInfoPair info) + { + StringBuffer sb = new StringBuffer(); + sb.append("(c1.cid = '" + info.c + "'" + " AND c1.hid ='" + info.h1 + "'"); + sb.append(" AND c1.Value " + info.t1.op + " '" + info.t1.right + "'"); + sb.append(" AND c2.hid = '" + info.h2 + "'"); + sb.append(" AND c2.Value " + info.t2.op + " '" + info.t2.right + "')"); + return sb.toString(); + } + + /** + * Performs a bulk merge of given pairs of components. + * @param statement + * @param mergeInfo + * @throws SQLException + */ + private void bulkMerge(Statement statement, ArrayList mergeInfo) throws SQLException + { + int size = mergeInfo.size(); + int i = 0; + int n; + int j; + + while (i < size) + { + StringBuffer sb1 = new StringBuffer(); + sb1.append("CREATE TABLE Invalid AS SELECT c1.cid,c1.wid FROM "); + sb1.append(compRelName + " AS c1 JOIN " + compRelName + + " AS c2 ON(c1.cid = c2.cid AND c1.wid = c2.wid)"); + sb1.append(" WHERE "); + + n = i + 250; + if (n > size) + { + n = size; + } + j = i; + for (;j < n; ++j) + { + InvalidInfoPair info = (InvalidInfoPair) mergeInfo.get(j); + + // The components were already merged + if (info.c1.equals(info.c2)) + { + info.c = info.c1; + } + else + { + System.out.println("Merging " + info.c1 + " and " + info.c2); + // Merge components + StringBuffer sb2 = new StringBuffer("INSERT INTO " + compRelName + " "); + sb2.append("SELECT '" + info.c + "',c1.hid,c1.wid || c2.wid,c1.Value FROM " + compRelName + " c1," + compRelName + " c2 "); + sb2.append("WHERE c1.cid = '" + info.c1 + "' AND c2.cid = '" + info.c2 + + "' AND c2.hid = '" + info.h2 + "'"); + statement.addBatch(sb2.toString()); + sb2.delete(0, sb2.length()); + sb2.append("INSERT INTO " + compRelName + " "); + sb2.append("SELECT '" + info.c + "',c2.hid,c1.wid || c2.wid,c2.Value FROM " + compRelName + " c1," + compRelName + " c2 "); + sb2.append("WHERE c1.cid = '" + info.c1 + "' AND c2.cid = '" + info.c2 + "' AND c1.hid = '" + info.h1 + "'"); + statement.addBatch(sb2.toString()); + // Delete old component entries + statement.addBatch("DELETE FROM " + compRelName + " WHERE cid IN ('" + info.c1 + "','" + info.c2 + "')"); + + // Update mapping relation + statement.addBatch("UPDATE " + mappingRelName + " SET cid = '" + info.c + + "' WHERE cid IN ('" + info.c1 + "','" + info.c2 + "')"); + merged ++; + } + + // Delete worlds not satisfying the dependency + if (j > i) + { + sb1.append(" OR "); + } + sb1.append(generateDelete(info)); + } + + // Perform merging of components + statement.executeBatch(); + + // Create table of invalid worlds + statement.clearBatch(); + //System.out.println(sb1.toString()); + statement.executeUpdate(sb1.toString()); + + String delete = "DELETE FROM " + compRelName + + " WHERE oid IN (SELECT c.oid FROM Invalid NATURAL JOIN " + compRelName + " AS c);"; + statement.executeUpdate(delete); + + // Drop table of invalid worlds + statement.executeUpdate("DROP TABLE Invalid;"); + + i += (n - i); + } + } + + /** + * Merges two given components into one and returns the name of the new component. + * @param statement The statement used to perform the updates. + * @param cid1 Name of the first component to merge. + * @param cid2 Name of the second component to merge. + * @param hid1 ID of a hole in the first component. + * @param hid2 ID of a hole in the second component. + * @return Name of the new component. + */ + private String mergeComponents(Statement statement, String cid1, String cid2, String hid1, String hid2) + throws SQLException + { + System.out.println("Merging " + cid1 + " and " + cid2); + // c1 and c2 were already merged or are the same component + if (cid1.indexOf(cid2) != -1 || cid2.indexOf(cid1) != -1) + { + System.out.println("Already merged!"); + return cid1; + } + String comp = cid1 + "x" + cid2; + //System.out.println("done"); + StringBuffer sb = new StringBuffer("INSERT INTO " + compRelName + " "); + sb.append("SELECT '" + comp + "',c1.hid,c1.wid || c2.wid,c1.Value FROM " + compRelName + " c1," + compRelName + " c2 "); + sb.append("WHERE c1.cid = '" + cid1 + "' AND c2.cid = '" + cid2 + "' AND c2.hid = '" + hid2 + "'"); + statement.executeUpdate(sb.toString()); + + sb.delete(0, sb.length()); + + sb.append("INSERT INTO " + compRelName + " "); + sb.append("SELECT '" + comp + "',c2.hid,c1.wid || c2.wid,c2.Value FROM " + compRelName + " c1," + compRelName + " c2 "); + sb.append("WHERE c1.cid = '" + cid1 + "' AND c2.cid = '" + cid2 + "' AND c1.hid = '" + hid1 + "'"); + statement.executeUpdate(sb.toString()); + // Update mapping and components tables + //ArrayList oldCompIDs = new ArrayList(); + ArrayList oldCompIDs = new ArrayList(); + oldCompIDs.add(cid1); + oldCompIDs.add(cid2); + updateTables(statement, oldCompIDs, comp); + merged++; + return comp; + } + + /** + * + * @param terms + * @return + */ + private String constructStatement(ArrayList terms) + { + String result; + StringBuffer selClause = new StringBuffer("SELECT TID, "); + StringBuffer cond = new StringBuffer(" WHERE "); + + for (int i = 0; i < terms.size(); ++i) + { + Term t = (Term) terms.get(i); + if (i > 0) + { + selClause.append(","); + cond.append(" AND "); + } + selClause.append(t.left); + cond.append("(" + t.left + " " + t.op + " " + t.right + " OR "); + cond.append("(" + t.left + " IS NULL AND EXISTS ("); + cond.append(" SELECT '1' FROM " + mappingRelName + " f," + compRelName + " c "); + cond.append(" WHERE r.tid = f.tid AND f.col = '" + t.left + "' AND f.hid = c.hid"); + cond.append(" AND c.value " + t.op + " " + t.right); + cond.append(")))"); + } + + result = selClause.toString() + " FROM " + templateRelName + " r " + cond; + return result; + } + + public boolean chase(ArrayList aDependencies) + { + while(true) + { + for (int i = 0; i < aDependencies.size(); ++i) + { + Dependency d = (Dependency) aDependencies.get(i); + System.out.println("Chasing " + d.toString()); + + // Functional dependency + if (d.type == 0) + { + if (applyFD((FDependency) d) == false) + { + return false; + } + } + // Equlaity-generating dependency + else if (d.type == 1) + { + if (applyEQD((EQDependency) d) == false) + { + return false; + } + } + } + // TODO: Only break if nothing was changed in the last iteration + break; + } + return true; + } + + /** + * Retrieves the IDs of all component and for each component + * one of the holes defined in it. + * @param statement Statement used to perform the query. + * @return HashMap of (component ID, hole ID) pairs. + * @throws SQLException + */ + private HashMap getCompIDs(Statement statement) throws SQLException + { + HashMap result = new HashMap(); + String sql = "SELECT cid,hid FROM " + mappingRelName + " WHERE Rel = '" + + templateRelName + "';"; + ResultSet rs = statement.executeQuery(sql); + while (rs.next()) + { + result.put(rs.getString("cid"), rs.getString("hid")); + } + return result; + } + + /** + * Encapsulates the information needed to delete invalid worlds, such as component ID, + * hole ID and a condition that should be fulfilled in all worlds. + * @author Lublena + * + */ + class InvalidInfo + { + public String cid; + public String hid; + public Term t; + + public InvalidInfo(String aCid, String aHid, Term aTerm) + { + cid = aCid; + hid = aHid; + t = aTerm; + } + + public InvalidInfo(Object aCid, Object aHid, Object aTerm) + { + cid = aCid.toString(); + hid = aHid.toString(); + t = (Term) aTerm; + } + } + + /** + * Encapsulates the information needed to merge two components and + * delete invalid worlds with respect to a conjunctive formula of two conditions. + * @author Lublena + */ + class InvalidInfoPair + { + String c; + String c1; + String c2; + String h1; + String h2; + Term t1; + Term t2; + + public InvalidInfoPair(String c, String c1, String c2, String h1, String h2, Term t1, Term t2) + { + this.c = c; + this.c1 = c1; + this.c2 = c2; + this.h1 = h1; + this.h2 = h2; + this.t1 = t1; + this.t2 = t2; + } + } +} diff --git a/census/Chase/src/Dependency.java b/census/Chase/src/Dependency.java new file mode 100644 index 0000000..dc769bd --- /dev/null +++ b/census/Chase/src/Dependency.java @@ -0,0 +1,13 @@ +/** + * + */ + +/** + * @author Lublena + * + */ +public abstract class Dependency +{ + public int type; // 0 = fd; 1 = eqd + public abstract String toString(); +} diff --git a/census/Chase/src/EQDependency.java b/census/Chase/src/EQDependency.java new file mode 100644 index 0000000..89ae285 --- /dev/null +++ b/census/Chase/src/EQDependency.java @@ -0,0 +1,125 @@ +import java.util.ArrayList; + +/** + * + */ + +/** + * @author Lublena + * + */ +public class EQDependency extends Dependency +{ + //ArrayList left; // the terms on the left side of the dependency + //ArrayList right; // the terms on the right side of the dependency + + ArrayList left; // the terms on the left side of the dependency + ArrayList right; // the terms on the right side of the dependency + + public EQDependency() + { + type = 1; + //left = new ArrayList(); + //right = new ArrayList(); + + left = new ArrayList(); + right = new ArrayList(); + } + + /* (non-Javadoc) + * @see Dependency#toString() + */ + public String toString() + { + if (left.isEmpty() || right.isEmpty()) + { + return null; + } + + StringBuffer sb = new StringBuffer(left.get(0).toString()); + + + for (int i = 1; i < left.size(); ++i) + { + sb.append(" and " + left.get(i).toString()); + } + + // Append the right side of the functional dependency + sb.append(" => " + right.get(0).toString()); + return sb.toString(); + } + /* + * Returns an ArrayList of the column names appearing in the dependency. + */ + public ArrayList getColumns() + { + // ArrayList result = new ArrayList(); + ArrayList result = new ArrayList(); + for (int i = 0; i < left.size(); ++i) + { + String col = ((Term) left.get(i)).left; + result.add(col); + } + result.add(((Term) right.get(0)).left); + + return result; + } + /* + * Returns an ArrayList of the terms in the dependency. + */ + public ArrayList getTerms() + { + //ArrayList result = new ArrayList(); + ArrayList result = new ArrayList(); + result.addAll(left); + result.addAll(right); + return result; + } + + /* + * Returns an ArrayList of the terms in the dependency, where the operation in the + * term on the right-hand side is reversed. + */ + public ArrayList getRTerms() + { + ArrayList result = new ArrayList(); + result.addAll(left); + Term t = (Term) right.get(0); + result.add(new Term(t.left, reverseOp(t.op), t.right)); + return result; + } + + /** + * @param op The comparison operator to reverse. + * @return The reversed comparison operator for the input operator. + */ + private String reverseOp(String op) + { + String result = null; + if (op.equals("=")) + { + result = "!="; + } + else if (op.equals("!=") || op.equals("<>")) + { + result = "="; + } + else if (op.equals("<")) + { + result = ">="; + } + else if (op.equals("<=")) + { + result = ">"; + } + else if (op.equals(">")) + { + result = "<="; + } + else if (op.equals(">=")) + { + result = "<"; + } + return result; + } +} diff --git a/census/Chase/src/FDependency.java b/census/Chase/src/FDependency.java new file mode 100644 index 0000000..95732a5 --- /dev/null +++ b/census/Chase/src/FDependency.java @@ -0,0 +1,51 @@ +import java.util.ArrayList; + +/** + * + */ + +/** + * @author Lublena + * + */ +public class FDependency extends Dependency +{ + //ArrayList left; + //ArrayList right; // the column name on the right hand side of the dependency + + ArrayList left; + ArrayList right; // the column name on the right hand side of the dependency + + public FDependency() + { + type = 0; + //left = new ArrayList(); + //right = new ArrayList(); + + left = new ArrayList(); + right = new ArrayList(); + } + + /* (non-Javadoc) + * @see Dependency#toString() + */ + public String toString() + { + if (left.isEmpty() || right.isEmpty()) + { + return null; + } + + StringBuffer sb = new StringBuffer(left.get(0).toString()); + + + for (int i = 1; i < left.size(); ++i) + { + sb.append(", " + left.get(i).toString()); + } + + // Append the right side of the functional dependency + sb.append(" -> " + right.get(0).toString()); + return sb.toString(); + } +} diff --git a/census/Chase/src/Main.java b/census/Chase/src/Main.java new file mode 100644 index 0000000..fb15a9e --- /dev/null +++ b/census/Chase/src/Main.java @@ -0,0 +1,58 @@ + +public class Main { + + /** + * @param args + */ + public static void main(String[] args) + { + //Chaser c = new Chaser(); + //c.call("r"); + if (args.length != 4) + { + System.out.println("Please specify table names and settings file!"); + return; + } + + long start = System.currentTimeMillis(); + String templateName = args[0]; + String mappingName = args[1]; + String compName = args[2]; + String fileName = args[3]; + + Settings settings = new Settings(fileName); + System.out.print("Loading settings..."); + if (settings.loadSettings() == false) + { + System.out.println("The specified file could not be loaded."); + return; + } + System.out.println("done"); + + + // System.out.println(settings.dependencies.size()); + +// for (int i = 0; i < settings.dependencies.size(); ++i) +// { +// System.out.println(settings.dependencies.get(i).toString()); +// } + + System.out.println("Cleaning data..."); + Chaser chaser = new Chaser(settings.getDBSetting("dbname"), + settings.getDBSetting("username"), + settings.getDBSetting("password"), + templateName, + mappingName, + compName, + ""); + long chaseStart = System.currentTimeMillis(); + + chaser.chase(settings.dependencies); + System.out.println(chaser.merged + " components were merged during the chase."); + long end = System.currentTimeMillis(); + System.out.println("Operation completed in " + ((double)(end - chaseStart) / 1000.0) + " seconds."); + System.out.println("(total: " + ((double)(end - start) / 1000.0) + " seconds)"); + + } + +} diff --git a/census/Chase/src/Settings.java b/census/Chase/src/Settings.java new file mode 100644 index 0000000..0024da9 --- /dev/null +++ b/census/Chase/src/Settings.java @@ -0,0 +1,283 @@ +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; + +/** + * + */ + +/** + * @author Lublena + * + */ +public class Settings +{ + private String fileName; + //private HashMap dbSettings; + //ArrayList dependencies; + private HashMap dbSettings; + ArrayList dependencies; + + Settings(String aFileName) + { + fileName = aFileName; + //dbSettings = new HashMap(); + //dependencies = new ArrayList(); + dbSettings = new HashMap(); + dependencies = new ArrayList(); + } + + public boolean loadSettings() + { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db; + Document doc; + try + { + db = dbf.newDocumentBuilder(); + } + catch (ParserConfigurationException e) + { + return false; + } + try + { + doc = db.parse(fileName); + } + catch (IOException e) + { + // System.out.println("File not found!"); + return false; + } + catch (SAXException e) + { + // System.out.println("Error parsing file!"); + return false; + } + + NodeList dbSettings = doc.getElementsByTagName("db"); + + if (dbSettings.getLength() == 1) + { + loadDBSettings(dbSettings.item(0)); + } + else + { + return false; + } + + + NodeList dependencies = doc.getElementsByTagName("rule"); + + if (dependencies.getLength() > 0) + { + loadDependencies(dependencies); + } + else + { + return false; + } + + return true; + } + + private boolean loadDBSettings(Node aRoot) + { + NodeList children = aRoot.getChildNodes(); + for (int i = 0; i < children.getLength(); ++i) + { + Node child = children.item(i); + if (child.getNodeType() != Node.ELEMENT_NODE) + { + continue; + } + dbSettings.put(child.getNodeName(), child.getFirstChild().getNodeValue()); + } + return true; + } + + private boolean loadDependencies(NodeList aRules) + { + for (int i = 0; i < aRules.getLength(); ++i) + { + if (aRules.item(i).getNodeType() == Node.ELEMENT_NODE) + { + loadDep(aRules.item(i)); + } + } + + return true; + } + + private boolean loadDep(Node aDep) + { + NodeList ruleProperties = aDep.getChildNodes(); + + int i = 0; + + // Get the dependency's type + while (ruleProperties.item(i).getNodeType() != Node.ELEMENT_NODE) + { + ++i; + } + + String type = ruleProperties.item(i).getFirstChild().getNodeValue(); + i++; + + if (type.equals("fd")) + { + // System.out.println("Functional dependency!"); + FDependency fd = new FDependency(); + // Load properties of the dependency + while (ruleProperties.item(i).getNodeType() != Node.ELEMENT_NODE) + { + ++i; + } + // System.out.println(ruleProperties.item(i).getNodeName()); + // Get the variables on the left-hand side of the dependency + NodeList leftVars = ruleProperties.item(i).getChildNodes(); + + // System.out.println("Leftvars: " + leftVars.getLength()); + + for (int j = 0; j < leftVars.getLength(); ++j) + { + if (leftVars.item(j).getNodeType() != Node.ELEMENT_NODE) + { + // System.out.println("Skipping"); + continue; + } + // System.out.println(leftVars.item(j).getNodeName()); + String varName = leftVars.item(j).getFirstChild().getNodeValue(); + // System.out.println(varName); + fd.left.add(varName); + } + + ++i; + + // Skip text nodes + while (ruleProperties.item(i).getNodeType() != Node.ELEMENT_NODE) + { + ++i; + } + + Node rightVar = ruleProperties.item(i); + String rightVarName = rightVar.getFirstChild().getNodeValue(); + fd.right.add(rightVarName); + + dependencies.add(fd); + } + else if (type.equals("eq")) + { + // System.out.println("Equality-generating dependency!"); + EQDependency eqd = new EQDependency(); + // TODO: load properties of the dependency + + // Skip text nodes + while (ruleProperties.item(i).getNodeType() != Node.ELEMENT_NODE) + { + ++i; + } + + // Load if-part of dependency + Node ifNode = ruleProperties.item(i); + // System.out.println(ifNode.getNodeName()); + ++i; + NodeList ifTerms = ifNode.getChildNodes(); + for (int j = 0; j < ifTerms.getLength(); ++j) + { + if (ifTerms.item(j).getNodeType() != Node.ELEMENT_NODE) + { + continue; + } + Term term = loadTerm(ifTerms.item(j)); + // System.out.println(term.toString()); + eqd.left.add(term); + } + + // Skip text nodes + while (ruleProperties.item(i).getNodeType() != Node.ELEMENT_NODE) + { + ++i; + } + + // Load then-part of dependency + Node thenNode = ruleProperties.item(i); + // System.out.println(thenNode.getNodeName()); + + NodeList thenTerms = thenNode.getChildNodes(); + for (int j = 0; j < thenTerms.getLength(); ++j) + { + if (thenTerms.item(j).getNodeType() != Node.ELEMENT_NODE) + { + continue; + } + + Term term = loadTerm(thenTerms.item(j)); + // System.out.println(term.toString()); + eqd.right.add(term); + } + dependencies.add(eqd); + } + + return true; + } + + /* + * + */ + private Term loadTerm(Node aTermNode) + { + String left = null; + String op = null; + String right = null; + + NodeList termProperties = aTermNode.getChildNodes(); + for (int i = 0; i < termProperties.getLength(); ++i) + { + if (termProperties.item(i).getNodeType() != Node.ELEMENT_NODE) + { + continue; + } + if (termProperties.item(i).getNodeName().equals("left")) + { + left = termProperties.item(i).getFirstChild().getNodeValue(); + // System.out.println(left); + } + else if (termProperties.item(i).getNodeName().equals("op")) + { + op = termProperties.item(i).getFirstChild().getNodeValue(); + // System.out.println(op); + } + else // (termProperties.item(i).getNodeName().equals("right")) + { + right = termProperties.item(i).getFirstChild().getNodeValue(); + // System.out.println(right); + } + } + if (left == null || op == null || right == null) + { + return null; + } + + Term result = new Term(left, op, right); + return result; + } + + public String getDBSetting(String aParameter) + { + if (dbSettings.containsKey(aParameter)) + { + return dbSettings.get(aParameter).toString(); + } + return null; + } +} diff --git a/census/Chase/src/Term.java b/census/Chase/src/Term.java new file mode 100644 index 0000000..a3a26dd --- /dev/null +++ b/census/Chase/src/Term.java @@ -0,0 +1,26 @@ +/** + * + */ + +/** + * @author Lublena + * + */ +public class Term +{ + public String left; + public String op; + public String right; + + public Term(String aLeft, String aOp, String aRight) + { + left = aLeft; + op = aOp; + right = aRight; + } + + public String toString() + { + return left + " " + op + " " + right; + } +} diff --git a/census/DataNoise/jdbc3.jar b/census/DataNoise/jdbc3.jar new file mode 100644 index 0000000..786147b Binary files /dev/null and b/census/DataNoise/jdbc3.jar differ diff --git a/census/DataNoise/settings.xml b/census/DataNoise/settings.xml new file mode 100644 index 0000000..2a8ab2e --- /dev/null +++ b/census/DataNoise/settings.xml @@ -0,0 +1,774 @@ + + + postgres + lantova + abcd + + + 4 + 8 + + + ABIRTHPL01 + + CITIZEN + 0 + 1 + 2 + 3 + 4 + + + CLASS + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + + ENGLISH + 0 + 1 + 2 + 3 + 4 + + FEB5501 + + FERTIL + 00 + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + + + HISPANIC + 000 + 001 + 002 + 003 + 004 + + + IMMIGR + 00 + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + + KOREAN01 + + LANG1 + 0 + 1 + 2 + + + MARITAL + 0 + 1 + 2 + 3 + 4 + + MAY7588001 + + MEANS + 00 + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + + + MIGPUMA + 00000 + 99900 + + + MIGSTATE + 00 + 01 + 02 + 04 + 05 + 06 + 08 + 09 + 10 + 11 + 12 + 13 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 53 + 54 + 55 + 56 + 72 + 98 + 99 + + + MILITARY + 0 + 1 + 2 + 3 + 4 + + OCCUP000 + OTHRSERV01 + + POB + 001 + 002 + 004 + 005 + 006 + 008 + 009 + 010 + 011 + 012 + 013 + 015 + 016 + 017 + 018 + 019 + 020 + 021 + 022 + 023 + 024 + 025 + 026 + 027 + 028 + 029 + 030 + 031 + 032 + 033 + 034 + 035 + 036 + 037 + 038 + 039 + 040 + 041 + 042 + 044 + 045 + 046 + 047 + 048 + 049 + 050 + 051 + 053 + 054 + 055 + 056 + 060 + 066 + 067 + 069 + 071 + 072 + 076 + 078 + 079 + 081 + 084 + 086 + 089 + 095 + 096 + 100 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 + 114 + 115 + 116 + 117 + 118 + 119 + 120 + 121 + 122 + 123 + 124 + 125 + 126 + 127 + 128 + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + 139 + 140 + 141 + 142 + 143 + 144 + 145 + 146 + 147 + 148 + 149 + 150 + 151 + 152 + 153 + 154 + 180 + 181 + 182 + 183 + 184 + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 207 + 208 + 209 + 210 + 211 + 212 + 213 + 214 + 215 + 216 + 217 + 218 + 219 + 220 + 221 + 222 + 223 + 224 + 225 + 226 + 227 + 228 + 229 + 230 + 231 + 232 + 233 + 234 + 235 + 236 + 237 + 238 + 239 + 240 + 241 + 242 + 243 + 244 + 245 + 246 + 247 + 248 + 249 + 250 + 251 + 252 + 253 + 254 + 255 + 256 + 300 + 301 + 302 + 303 + 304 + 310 + 311 + 312 + 313 + 314 + 315 + 316 + 317 + 318 + 330 + 331 + 332 + 333 + 334 + 335 + 336 + 337 + 338 + 339 + 340 + 341 + 342 + 343 + 344 + 345 + 346 + 347 + 348 + 349 + 350 + 351 + 352 + 353 + 354 + 355 + 356 + 357 + 358 + 359 + 375 + 376 + 377 + 378 + 379 + 380 + 381 + 382 + 383 + 384 + 385 + 386 + 387 + 388 + 389 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 418 + 419 + 420 + 421 + 422 + 423 + 424 + 425 + 426 + 427 + 428 + 429 + 430 + 431 + 432 + 433 + 434 + 435 + 436 + 437 + 438 + 439 + 440 + 441 + 442 + 443 + 444 + 445 + 446 + 447 + 448 + 449 + 450 + 451 + 452 + 453 + 454 + 455 + 456 + 457 + 458 + 459 + 460 + 461 + 462 + 463 + 464 + 465 + 466 + 467 + 468 + 469 + 470 + 500 + 501 + 502 + 503 + 504 + 505 + 506 + 507 + 508 + 509 + 510 + 511 + 512 + 513 + 514 + 515 + 516 + 517 + 518 + 519 + 520 + 521 + 522 + 523 + 524 + 525 + 526 + 527 + 528 + 529 + 550 + 551 + 552 + 553 + 554 + 555 + + + POWSTATE + 00 + 01 + 02 + 04 + 05 + 06 + 08 + 09 + 10 + 11 + 12 + 13 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 53 + 54 + 55 + 56 + 98 + 99 + + + RACE + 001 + 002 + 004 + 005 + 006 + 007 + 008 + 009 + 010 + 011 + 012 + 013 + 014 + 015 + 016 + 017 + 018 + 019 + 020 + 021 + 022 + 023 + 024 + 025 + 026 + 027 + 028 + 029 + 030 + 031 + 032 + 033 + 034 + 035 + 036 + 037 + 301 + 302 + 303 + 304 + 305 + 306 + 307 + 308 + 309 + 310 + 311 + 312 + 313 + 314 + 315 + 316 + 317 + 318 + 319 + 320 + 321 + 322 + 323 + 324 + 325 + 326 + 327 + + + RAGECHLD + 0 + 1 + 2 + 3 + 4 + + + RLABOR + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + ROWNCHLD01 + + RPOB + 10 + 21 + 22 + 23 + 24 + 31 + 32 + 33 + 34 + 35 + 36 + 40 + 51 + 52 + + + RSPOUSE + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + + RVETSERV + 00 + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + + + SCHOOL + 0 + 1 + 2 + 3 + + SEPT8001 + SEX01 + VIETNAM01 + WWII01 + + YEARSCH + 00 + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + + + YEARWRK + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + YRSSERV + 00 + 01 + 50 + + + + diff --git a/census/DataNoise/src/DBConnector.java b/census/DataNoise/src/DBConnector.java new file mode 100644 index 0000000..97936d6 --- /dev/null +++ b/census/DataNoise/src/DBConnector.java @@ -0,0 +1,261 @@ +import java.sql.*; +import java.util.ArrayList; + +public class DBConnector +{ + private String mappingSchema = "Relation text, TID int4, Col text, CID text, HID text"; + private String compSchema = "CID text, HID text, WID text, Value int"; + private String worldSchema = "CID text, WID text"; + + private String mappingAttrs = "Relation, TID, Col, CID, HID"; + private String compAttrs = "CID, HID, WID, Value"; + private String worldAttrs = "CID, WID"; + + private static int id = 1; + private Connection dbConnection; + private Statement sqlStatement; + + private String templateRelName; + private String mappingRelName; + private String compRelName; + private String worldRelName; + + public double worldCount; + + public DBConnector(String aDatabase, String aUser, String aPassword, + String aTemplateRelName, String aMappingRelName, String aCompRelName, + String aWorldRelName) + { + templateRelName = aTemplateRelName; + mappingRelName = aMappingRelName; + compRelName = aCompRelName; + worldRelName = aWorldRelName; + worldCount = 1; + init(aDatabase, aUser, aPassword); + } + + private void init(String aDatabase, String aUser, String aPassword) + { + try + { + Class.forName("org.postgresql.Driver"); //load the driver + + String connString = "jdbc:postgresql:" + aDatabase; + //System.out.println("Connecting to " + connString); + dbConnection = DriverManager.getConnection(connString, + aUser, aPassword); + sqlStatement = dbConnection.createStatement(); + + // Create mapping relation + createTable(mappingRelName, mappingSchema); + + // Create component relation + createTable(compRelName, compSchema); + + // Create world relation + //createTable(worldRelName, worldSchema); + } + catch (SQLException e) + { + System.err.println("Could not connect to the database!"); + e.printStackTrace(); + return; + } + catch (ClassNotFoundException e) + { + System.err.println("Could not load database driver!"); + return; + } + } + + public void closeConnection() + { + try + { + sqlStatement.close(); + dbConnection.close(); + } + catch (SQLException e) + { + // Ignore + return; + } + } + + private void createTable(String aName, String aSchema) + throws SQLException + { + String sql = "CREATE TABLE " + aName + " (" + aSchema + ");"; + System.out.println(sql); + //sqlStatement.executeUpdate(sql); + } + private String getValue(String aRelName, int aTid, String aColumnName) + throws SQLException + { + String sql = "SELECT " + aColumnName + " FROM " + aRelName + " WHERE tid = " + aTid; + ResultSet rs = sqlStatement.executeQuery(sql); + if (rs.next()) + { + if (rs.getObject(1) == null) + { + return "-1"; + } + return rs.getString(1); + } + return null; + } + + private void setHole(int aTid, String aColumnName, ArrayList aHoleValues, + StringBuffer aRBuffer, StringBuffer aFBuffer, StringBuffer aCBuffer) + throws SQLException + { + // Get current value of the specified column + String value = getValue(templateRelName, aTid, aColumnName); + + if (value == null || value.equals("-1")) + { +// //System.err.print("+"); + return; + } + + + // Add the real value of the column if it is not among the generated values + if (!aHoleValues.contains(value)) + { + aHoleValues.add(value); + } + + + // Create a hole in the template relation + String sql = "UPDATE " + templateRelName + " SET " + aColumnName + " = -1 " + + " WHERE tid = " + aTid + ";"; + aRBuffer.append(sql); + + // Insert an entry for the new hole in the mapping relation + String cid = "c" + id; + String hid = "h" + id; + String mappingEntry = templateRelName + "\t" + aTid + "\t" + + aColumnName + "\t" + cid + "\t" + hid + "\n"; + + //insertTuple(mappingRelName, mappingAttrs, mappingEntry, aFStatement); + aFBuffer.append(mappingEntry); + id++; + + // Insert values for the new hole in the component relation + insertHoleValues(cid, hid, aColumnName, aHoleValues, aCBuffer); + } + + private void insertHoleValues(String aCid, String aHid, String aColumnName, ArrayList aValues, StringBuffer aBuffer) + throws SQLException + { + + for (int i = 0; i < aValues.size(); ++i) + { + String wid = "w" + (i + 1); + String compEntry = aCid + "\t" + aHid + "\t" + + wid + "\t" + aValues.get(i).toString() + "\n"; + aBuffer.append(compEntry); + + //insertTuple(compRelName, compAttrs, compEntry, aBuffer); + } + } + + private void insertTuple(String aRelName, String aSchema, String aValues, Statement aStatement) + throws SQLException + { + String sql = "INSERT INTO " + aRelName + " (" + aSchema + + ") VALUES (" + aValues + ")"; + aStatement.addBatch(sql); + } + + private int getRelSize(String aRelName) + { + ResultSet rs; + try + { + rs = sqlStatement.executeQuery("SELECT count(*) from " + aRelName); + } + catch (SQLException e) + { + System.err.println("Could not execute statement!"); + return 0; + } + + try + { + rs.next(); + return (new Integer(rs.getString(1))).intValue(); + } + catch (SQLException e) + { + System.err.println("Error getting the result!"); + return 0; + } + } + + public int getTemplateRelSize() + { + return getRelSize(templateRelName); + } + + public void introduceNoise(ArrayList aHoles) + throws SQLException + { + StringBuffer rBuffer = new StringBuffer(); + StringBuffer fBuffer = new StringBuffer(); + StringBuffer cBuffer = new StringBuffer(); + + int size = aHoles.size(); + int step = 1000; + //System.err.println(size); + + int i = 0; + for (; i < size;) + { + fBuffer.append("COPY " + mappingRelName + "(" + mappingAttrs + ") FROM stdin;\n"); + cBuffer.append("COPY " + compRelName + " FROM stdin;\n"); + int n = i + step; + if (n > size) + { + n = size; + } + int j = i; + for (; j < n; ++j) + { + Hole holeInfo = (Hole) aHoles.get(j); + setHole(holeInfo.tid, holeInfo.columnName, holeInfo.values, rBuffer, fBuffer, cBuffer); + } + //System.err.print(j + " "); + + fBuffer.append("\\."); + cBuffer.append("\\."); + + System.out.println(rBuffer.toString()); + System.out.flush(); + System.out.println(fBuffer.toString()); + System.out.flush(); + System.out.println(cBuffer.toString()); + System.out.flush(); + //sqlStatement.executeUpdate(fBuffer.toString()); + //sqlStatement.executeUpdate(cBuffer.toString()); + + rBuffer.delete(0, rBuffer.length()); + fBuffer.delete(0, fBuffer.length()); + cBuffer.delete(0, cBuffer.length()); + + i += step; + } + + //System.err.println(i); +// rBuffer.close(); +// fStatement.close(); +// cStatement.close(); + } + + public void createWorldTable() throws SQLException + { + + String sql = "CREATE TABLE " + worldRelName + " AS SELECT DISTINCT cid, wid FROM " + compRelName + ";"; + System.out.println(sql); + } +} diff --git a/census/DataNoise/src/Hole.java b/census/DataNoise/src/Hole.java new file mode 100644 index 0000000..2f8dbc1 --- /dev/null +++ b/census/DataNoise/src/Hole.java @@ -0,0 +1,8 @@ +import java.util.ArrayList; + +public class Hole +{ + public int tid; + public String columnName; + public ArrayList values; +} diff --git a/census/DataNoise/src/Main.java b/census/DataNoise/src/Main.java new file mode 100644 index 0000000..7c0e05a --- /dev/null +++ b/census/DataNoise/src/Main.java @@ -0,0 +1,106 @@ +import java.sql.SQLException; +import java.util.ArrayList; + +/** + * + */ + +/** + * @author Lublena + * + */ +public class Main { + + /** + * @param args + */ + public static void main(String[] args) { + if (args.length != 7) + { + System.err.println("Please specify table names and settings file!"); + return; + } + + String templateName = args[0]; + String mappingName = args[1]; + String compName = args[2]; + int relSize = (new Integer(args[3])).intValue(); + int arity = (new Integer(args[4])).intValue(); + double density = (new Double(args[5])).doubleValue(); + String fileName = args[6]; + + // TODO: check whether arguments are valid values + + Settings settings = new Settings(fileName); + //System.out.print("Loading settings..."); + if (settings.loadSettings() == false) + { + System.err.println("The specified file could not be loaded."); + return; + } + //System.out.println("done"); + + //System.out.print("Initializing database connection..."); + // Init database connection +// DBConnector db = new DBConnector(settings.getDBSetting("dbname"), +// settings.getDBSetting("username"), settings.getDBSetting("password"), +// settings.getDBSetting("templaterel"), settings.getDBSetting("mappingrel"), +// settings.getDBSetting("comprel"), +// settings.getDBSetting("worldrel")); + + DBConnector db = new DBConnector(settings.getDBSetting("dbname"), + settings.getDBSetting("username"), settings.getDBSetting("password"), + templateName, mappingName, + compName, + settings.getDBSetting("worldrel")); + if (db == null) + { + System.err.println("failed"); + return; + } + + //System.out.print("Retrieving relation size..."); + +// int relSize; +// if (settings.getDBSetting("size") != null) +// { +// // Size available in settings file +// relSize = (new Integer(settings.getDBSetting("size"))).intValue(); +// } +// else +// { +// relSize = db.getTemplateRelSize(); +// } +// + //System.out.println("done"); + + int maxHolesPerTuple = (new Integer(settings.getNoiseSetting("maxholespertuple"))).intValue(); + double avgHolesPerTuple = 1 + (maxHolesPerTuple - 1)/ 2.0; + + int tuplesWithHolesCount = (int) (relSize * density * arity / avgHolesPerTuple); + int maxHoleSize = (new Integer(settings.getNoiseSetting("maxholesize"))).intValue(); + + //System.out.print("Introducing holes..."); + + try + { + ArrayList holes = NoiseGenerator.generateNoise(db, settings.getVars(), relSize, + tuplesWithHolesCount, maxHolesPerTuple, maxHoleSize); + //ArrayList holes = NoiseGenerator.generateNoiseUniform(settings.getVars(), relSize, + // holeCount, maxHoleSize); + } + catch(SQLException e) + { + System.err.println("Error occurred while introducing noise:"); + e.printStackTrace(); + } + //System.out.println("done"); + + db.closeConnection(); + //long end = System.currentTimeMillis(); + //System.out.println("Total runningtime: " + (end - start) / 1000 + " seconds."); + + // System.out.println("Generated " + db.worldCount + " worlds."); + } + +} diff --git a/census/DataNoise/src/NoiseGenerator.java b/census/DataNoise/src/NoiseGenerator.java new file mode 100644 index 0000000..2c65a35 --- /dev/null +++ b/census/DataNoise/src/NoiseGenerator.java @@ -0,0 +1,251 @@ +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Set; + +public class NoiseGenerator +{ + /** + * Generates a random number in the range specified between the two parameters + * @param a + * @param b + * @return + */ + private static int random(int a, int b) + { + if (a > b) + { + int c = a; + a = b; + b = c; + } + double r = Math.random(); + int n = (int) (a + r * (b - a + 1)); + if (n < a) + { + n = a; + } + else if (n > b) + { + n = b; + } + return n; + } + + /** + * This method introduces noise in the database. + * @param aVars Names of the attributes to generate noise in and range of allowed + * values for each attribute. + * @param aRelSize Size of the relation to generate noise in. + * @param aTuplesCount Number of tuples that should contain or-sets. + * @param aMaxHolesPerTuples Maximal number of holes per tuple. + * @param aMaxHoleSize Maximal number of entries in each or-set + * @return ArrayList with information about the holes that should be + * introduced in the relation. + */ + public static ArrayList generateNoise (DBConnector aDB, HashMap aVars, int aRelSize, + int aTuplesCount, int aMaxHolesPerTuple, int aMaxHoleSize) + throws SQLException + { + ArrayList holes = new ArrayList(); + + Set keys = aVars.keySet(); + Object[] varNames = keys.toArray(); + + // IDs of tuples, to which holes were already introduced + HashSet tids = new HashSet(); + + int i = 0; + int j = 0; + + while (i < aTuplesCount) + { + int n = i + 100000; + if (n > aTuplesCount) + { + n = aTuplesCount; + } + //System.out.println(holes.size()); + //System.out.println(n); + + try + { + for (j = i; j < n; ++j) + { + int t; + + if (j > aRelSize) + { + break; + } + + if (aRelSize <= aTuplesCount) + { + t = j; + } + else + { + do + { + t = random(1, aRelSize); + } + while (tids.contains(new Integer(t))); + } + + tids.add(new Integer(t)); + + ArrayList columns = generateVarNames(varNames, aMaxHolesPerTuple); + for (int k = 0; k < columns.size(); ++k) + { + ArrayList values = generateValues((ArrayList) aVars.get(columns.get(k)), + aMaxHoleSize); + Hole hole = new Hole(); + hole.tid = t; + hole.columnName = columns.get(k).toString(); + hole.values = values; + holes.add(hole); + } + } + //System.err.println("holes: " + holes.size()); + aDB.introduceNoise(holes); + holes.clear(); + i += (j - i); + + //System.err.println("j: " + j); + //System.err.println("rel size: " + aRelSize); + + if (j > aRelSize) + { + break; + } + + } + catch(OutOfMemoryError e) + { + aDB.introduceNoise(holes); + holes.clear(); + i += (j - i); + } + } + aDB.createWorldTable(); + return holes; + } + + /** + * This method randomly picks the attributes to generate noise in. + * @param aVarNames Names of the attributes. + * @param aMaxHolesPerTuple Maximal number of holes to generate. + * @return ArrayList with the names of the attributes to generate noise in. + */ + private static ArrayList generateVarNames(Object[] aVarNames, int aMaxHolesPerTuple) + { + ArrayList varNames = new ArrayList(); + int varCount = aVarNames.length; + + int holesCount; + if (varCount > aMaxHolesPerTuple) + { + holesCount = random(1, aMaxHolesPerTuple); + } + else + { + holesCount = random(1, varCount); + } + + for (int j = 0; j < holesCount; ++j) + { + String varName; + do + { + varName = (String) aVarNames[random(0, varCount - 1)]; + } + while (varNames.contains(varName)); + + varNames.add(varName); + } + + return varNames; + } + + /** + * Generates values for a given attribute. + * @param aVarValues Values allowed for the given attribute. + * @param aMaxHoleSize Maximal number of values to generate for the attribute. + * @return ArrayList with possible values for the given attribute. + */ + private static ArrayList generateValues(ArrayList aVarValues, int aMaxHoleSize) + { + ArrayList values = new ArrayList(); + + int valuesCount = aVarValues.size(); + int holeSize; + + if (aMaxHoleSize < valuesCount) + { + holeSize = random(1, aMaxHoleSize); + } + else + { + holeSize = random(1, valuesCount); + } + + for (int i = 0; i < holeSize; ++i) + { + String value; + do + { + int n = random(0, valuesCount - 1); + value = (String) aVarValues.get(n); + } + while (values.contains(value)); + values.add(value); + } + return values; + } + + /** + * This method generates noise by uniformly selecting a certain number of fields to + * generate or-sets to. + * @param aVars + * @param aRelSize Size of the relation. + * @param aHolesCount + * @param aMaxHoleSize + * @return ArrayList with information about the generated holes. + */ + public static ArrayList generateNoiseUniform(HashMap aVars, int aRelSize, + int aHolesCount, int aMaxHoleSize) + { + ArrayList result = new ArrayList(); + // TODO: Implement + + ArrayList varNames = new ArrayList(); + int varCount = varNames.size(); + + if (varCount * aRelSize < aHolesCount) + { + aHolesCount = varCount * aRelSize; + } + + for (int i = 0; i < aHolesCount; ++i) + { + // Generate tuple id + int tid = random(1, aRelSize); + // Generate attribute name + int j = random(0, varCount - 1); + String varName = varNames.get(j).toString(); + // TODO: Check whether the hole was already generated + // ... + + ArrayList values = generateValues((ArrayList) aVars.get(varName), + aMaxHoleSize); + + Hole h = new Hole(); + h.tid = tid; + h.columnName = varName; + h.values = values; + result.add(h); + } + return result; + } +} diff --git a/census/DataNoise/src/Settings.java b/census/DataNoise/src/Settings.java new file mode 100644 index 0000000..0b7673c --- /dev/null +++ b/census/DataNoise/src/Settings.java @@ -0,0 +1,205 @@ +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.w3c.dom.*; +import org.xml.sax.SAXException; + +public class Settings +{ + private String fileName = "..\\settings.xml"; + private HashMap dbSettings; + private HashMap noiseSettings; + private HashMap vars; + + + public Settings(String aFileName) + { + fileName = aFileName; + dbSettings = new HashMap(); + noiseSettings = new HashMap(); + vars = new HashMap(); + } + + public boolean loadSettings() + { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db; + Document doc; + try + { + db = dbf.newDocumentBuilder(); + } + catch (ParserConfigurationException e) + { + return false; + } + try + { + doc = db.parse(fileName); + } + catch (IOException e) + { + System.out.println("File not found!"); + return false; + } + catch (SAXException e) + { + System.out.println("Error parsing file!"); + return false; + } + + NodeList dbSettings = doc.getElementsByTagName("db"); + + if (dbSettings.getLength() == 1) + { + loadDBSettings(dbSettings.item(0)); + } + else + { + return false; + } + + NodeList noiseSettings = doc.getElementsByTagName("noise"); + if (noiseSettings.getLength() == 1) + { + loadNoiseSettings(noiseSettings.item(0)); + } + else + { + return false; + } + + NodeList varSettings = doc.getElementsByTagName("vars"); + if (varSettings.getLength() == 1) + { + loadVars(varSettings.item(0)); + } + else + { + return false; + } + + return true; + } + + private boolean loadDBSettings(Node aRoot) + { + NodeList children = aRoot.getChildNodes(); + for (int i = 0; i < children.getLength(); ++i) + { + Node child = children.item(i); + if (child.getNodeType() == Node.TEXT_NODE) + { + continue; + } + dbSettings.put(child.getNodeName(), child.getFirstChild().getNodeValue()); + } + return true; + } + + private boolean loadNoiseSettings(Node aRoot) + { + NodeList children = aRoot.getChildNodes(); + for (int i = 0; i < children.getLength(); ++i) + { + Node child = children.item(i); + if (child.getNodeType() == Node.TEXT_NODE) + { + continue; + } + noiseSettings.put(child.getNodeName(), child.getFirstChild().getNodeValue()); + } + return true; + } + + private boolean loadVars(Node aRoot) + { + NodeList vars = aRoot.getChildNodes(); + for (int i = 0; i < vars.getLength(); ++i) + { + if (vars.item(i).getNodeType() == Node.ELEMENT_NODE) + { + loadVar(vars.item(i)); + } + } + + return true; + } + + private boolean loadVar(Node aVar) + { + aVar.normalize(); + NodeList varSettings = aVar.getChildNodes(); + + int i = 0; + + // Get the variable's name + if (varSettings.item(i).getNodeType() == Node.TEXT_NODE) + { + i++; + } + + String name = varSettings.item(i).getFirstChild().getNodeValue(); + i++; + + // Get the values for the variable + ArrayList values = new ArrayList(); + + for(; i < varSettings.getLength(); ++i) + { + Node valueNode = varSettings.item(i); + if (valueNode.getNodeType() == Node.TEXT_NODE) + { + continue; + } + String value = valueNode.getFirstChild().getNodeValue(); + values.add(value); + } + vars.put(name, values); + return true; + } + + public ArrayList getVarValues(String aVarName) + { + if (!vars.containsKey(aVarName)) + { + return null; + } + + return (ArrayList) vars.get(aVarName); + } + + public HashMap getVars() + { + return vars; + } + + public Object[] getVarNames() + { + return vars.keySet().toArray(); + } + + public String getDBSetting(String aParameter) + { + if (dbSettings.containsKey(aParameter)) + { + return (String) dbSettings.get(aParameter); + } + return null; + } + + public String getNoiseSetting(String aParameter) + { + if (noiseSettings.containsKey(aParameter)) + { + return (String) noiseSettings.get(aParameter); + } + return null; + } +} + diff --git a/census/Queries/clean_q1.sql b/census/Queries/clean_q1.sql new file mode 100644 index 0000000..34008e4 --- /dev/null +++ b/census/Queries/clean_q1.sql @@ -0,0 +1,4 @@ +DROP table c1 cascade; +DROP table f1 cascade; +DROP table r1 cascade; +DROP table del1 cascade; diff --git a/census/Queries/clean_q2.sql b/census/Queries/clean_q2.sql new file mode 100644 index 0000000..26af349 --- /dev/null +++ b/census/Queries/clean_q2.sql @@ -0,0 +1,5 @@ +DROP table c2 cascade; +DROP table f2 cascade; +DROP table r2 cascade; +DROP table twins2 cascade; +DROP table del2 cascade; diff --git a/census/Queries/clean_q3.sql b/census/Queries/clean_q3.sql new file mode 100644 index 0000000..589e2cc --- /dev/null +++ b/census/Queries/clean_q3.sql @@ -0,0 +1,6 @@ +DROP table c3 cascade; +DROP table f3 cascade; +DROP table r3 cascade; +DROP table twins3 cascade; +DROP table del3 cascade; +DROP TABLE consts3 cascade; \ No newline at end of file diff --git a/census/Queries/clean_q4.sql b/census/Queries/clean_q4.sql new file mode 100644 index 0000000..6cca0ec --- /dev/null +++ b/census/Queries/clean_q4.sql @@ -0,0 +1,4 @@ +DROP table c4 cascade; +DROP table f4 cascade; +DROP table r4 cascade; +DROP table del4 cascade; diff --git a/census/Queries/clean_q5.sql b/census/Queries/clean_q5.sql new file mode 100644 index 0000000..225aaf8 --- /dev/null +++ b/census/Queries/clean_q5.sql @@ -0,0 +1,5 @@ +DROP table c5 cascade; +DROP table f5 cascade; +DROP table r5 cascade; +DROP TABLE consts5 cascade; +DROP TABLE del5 cascade; \ No newline at end of file diff --git a/census/Queries/clean_q6.sql b/census/Queries/clean_q6.sql new file mode 100644 index 0000000..d55b8aa --- /dev/null +++ b/census/Queries/clean_q6.sql @@ -0,0 +1,5 @@ +DROP table c6 cascade; +DROP table f6 cascade; +DROP table r6 cascade; +DROP table twins6 cascade; +DROP table del6 cascade; diff --git a/census/Queries/fun-q3.sql b/census/Queries/fun-q3.sql new file mode 100644 index 0000000..2565ca0 --- /dev/null +++ b/census/Queries/fun-q3.sql @@ -0,0 +1,97 @@ +CREATE OR REPLACE FUNCTION filter3() RETURNS void AS $$ +DECLARE + filler RECORD; + i int4; +BEGIN + +--CREATE TABLE xc (id int4, hid text, wid text, value int4) WITHOUT OIDS; +--i:=0; + +LOOP + +SELECT INTO filler +_f1.cid as cleft, _f2.cid as cright, _f1.hid as hleft, _f2.hid as hright +FROM f3 _f1, f3 _f2 +WHERE _f1.tid = _f2.tid and _f1.Col IN ('POWSTATE','POB') and + _f2.Col IN ('POWSTATE','POB') and _f1.cid > _f2.cid; + + +IF NOT FOUND THEN EXIT; END IF; + +EXECUTE ' +create table k1 without oids as + select _c.* from c3 _c, f3 _f + where ' || quote_literal(filler.cleft) || ' = _f.cid and _f.hid = _c.hid; +'; + +EXECUTE ' +create table k2 without oids as + select _c.* from c3 _c, f3 _f + where ' || quote_literal(filler.cright) || ' = _f.cid and _f.hid = _c.hid; +'; + +EXECUTE ' +update f3 +set cid = ' || quote_literal(filler.cleft) || '|| \'x\' || ' || quote_literal(filler.cright) || ' +where cid =' || quote_literal(filler.cleft) || ' or cid=' || quote_literal(filler.cright) || '; + +create table ctemp3 as +select distinct a.hid, a.wid || \'x\' || b.wid as wid, a.value +from k1 a, k2 b +union +select distinct b.hid, a.wid || \'x\' || b.wid as wid, b.value +from k1 a, k2 b; + +delete from c3 where +hid in (select hid from k1) or hid in (select hid from k2); +'; + +EXECUTE ' +create table toinsert3 as +select _c1.value as value, _c1.hid as hid, _c1.wid as wid, _f2.hid as fhid +from ctemp3 _c1, f3 _f1, f3 _f2 +where _f1.tid = _f2.tid and _f1.hid = _c1.hid and _f1.cid = _f2.cid and + _f1.Col in (\'POWSTATE\',\'POB\') + and _f2.Col in (\'POWSTATE\',\'POB\'); +'; + +EXECUTE ' +insert into c3 +select * from ctemp3 +where value in ( +select value from toinsert3 +where toinsert3.wid = ctemp3.wid and toinsert3.fhid = ctemp3.hid + and toinsert3.hid <> ctemp3.hid); +'; + + +--EXECUTE ' +--insert into c3 +--select * from ctemp3 +--where value in ( +--select _c1.value from ctemp3 _c1, f3 _f1, f3 _f2 +--where _c1.hid <> ctemp3.hid and _f1.tid = _f2.tid and +-- _f1.hid = _c1.hid and _f2.hid = ctemp3.hid and +-- _c1.wid = ctemp3.wid and _f1.cid = _f2.cid and +-- _f1.Col in (\'POWSTATE\',\'POB\') +-- and _f2.Col in (\'POWSTATE\',\'POB\')); +--'; + + +--EXECUTE ' +--insert into xc +--SELECT '|| quote_literal(i) || ', * FROM c3;'; + +EXECUTE ' +drop table k1; +drop table k2; +drop table ctemp3; +drop table toinsert3; +'; + +--i := i+1; + +END LOOP; +RETURN; +END; +$$ LANGUAGE plpgsql; diff --git a/census/Queries/fun-q5.sql b/census/Queries/fun-q5.sql new file mode 100644 index 0000000..bec991a --- /dev/null +++ b/census/Queries/fun-q5.sql @@ -0,0 +1,88 @@ +CREATE OR REPLACE FUNCTION filter5() RETURNS void AS $$ +DECLARE + filler RECORD; + i int4; +BEGIN + +--CREATE TABLE xc (id int4, hid text, wid text, value int4) WITHOUT OIDS; +--i:=0; + +LOOP + +SELECT INTO filler +_f1.cid as cleft, _f2.cid as cright, _f1.hid as hleft, _f2.hid as hright +FROM f5 _f1, f5 _f2 +WHERE _f1.tid = _f2.tid and _f1.Col IN ('POWSTATE1','POWSTATE2') and + _f2.Col IN ('POWSTATE1','POWSTATE2') and _f1.cid > _f2.cid; + + +IF NOT FOUND THEN EXIT; END IF; + +EXECUTE ' +create table k1 without oids as + select _c.* from c5 _c, f5 _f + where ' || quote_literal(filler.cleft) || ' = _f.cid and _f.hid = _c.hid; +'; + +EXECUTE ' +create table k2 without oids as + select _c.* from c5 _c, f5 _f + where ' || quote_literal(filler.cright) || ' = _f.cid and _f.hid = _c.hid; +'; + +EXECUTE ' +update f5 +set cid = ' || quote_literal(filler.cleft) || '|| \'x\' || ' || quote_literal(filler.cright) || ' +where cid =' || quote_literal(filler.cleft) || ' or cid=' || quote_literal(filler.cright) || ';'; + + +EXECUTE ' +create table ctemp5 as +select distinct a.hid, a.wid || \'x\' || b.wid as wid, a.value +from k1 a, k2 b +union all +select distinct b.hid, a.wid || \'x\' || b.wid as wid, b.value +from k1 a, k2 b; + +delete from c5 where +hid in (select hid from k1) or hid in (select hid from k2); +'; + + + +EXECUTE ' +create table toinsert5 as +select _c1.value as value, _c1.hid as hid, _c1.wid as wid, _f2.hid as fhid +from ctemp5 _c1, f5 _f1, f5 _f2 +where _f1.tid = _f2.tid and _f1.hid = _c1.hid and _f1.cid = _f2.cid and + _f1.Col in (\'POWSTATE1\',\'POWSTATE2\') + and _f2.Col in (\'POWSTATE1\',\'POWSTATE2\'); + +insert into c5 +select * from ctemp5 +where value in ( +select value from toinsert5 +where toinsert5.wid = ctemp5.wid and toinsert5.fhid = ctemp5.hid + and toinsert5.hid <> ctemp5.hid); +'; + + + + +--EXECUTE ' +--insert into xc +--SELECT '|| quote_literal(i) || ', * FROM c5;'; + +EXECUTE ' +drop table k1; +drop table k2; +drop table ctemp5; +drop table toinsert5; +'; + +--i := i+1; + +END LOOP; +RETURN; +END; +$$ LANGUAGE plpgsql; diff --git a/census/Queries/oneworld_clean_q1.sql b/census/Queries/oneworld_clean_q1.sql new file mode 100644 index 0000000..68a69bb --- /dev/null +++ b/census/Queries/oneworld_clean_q1.sql @@ -0,0 +1 @@ +DROP table rr1 cascade; diff --git a/census/Queries/oneworld_clean_q2.sql b/census/Queries/oneworld_clean_q2.sql new file mode 100644 index 0000000..c927846 --- /dev/null +++ b/census/Queries/oneworld_clean_q2.sql @@ -0,0 +1 @@ +DROP table rr2 cascade; diff --git a/census/Queries/oneworld_clean_q3.sql b/census/Queries/oneworld_clean_q3.sql new file mode 100644 index 0000000..730a52e --- /dev/null +++ b/census/Queries/oneworld_clean_q3.sql @@ -0,0 +1,2 @@ +DROP table rr3 cascade; + diff --git a/census/Queries/oneworld_clean_q4.sql b/census/Queries/oneworld_clean_q4.sql new file mode 100644 index 0000000..93ff72c --- /dev/null +++ b/census/Queries/oneworld_clean_q4.sql @@ -0,0 +1 @@ +DROP table rr4 cascade; diff --git a/census/Queries/oneworld_clean_q5.sql b/census/Queries/oneworld_clean_q5.sql new file mode 100644 index 0000000..c3964f2 --- /dev/null +++ b/census/Queries/oneworld_clean_q5.sql @@ -0,0 +1 @@ +DROP table rr5 cascade; diff --git a/census/Queries/oneworld_clean_q6.sql b/census/Queries/oneworld_clean_q6.sql new file mode 100644 index 0000000..9127f22 --- /dev/null +++ b/census/Queries/oneworld_clean_q6.sql @@ -0,0 +1 @@ +DROP table rr6 cascade; diff --git a/census/Queries/oneworld_q1.sql b/census/Queries/oneworld_q1.sql new file mode 100644 index 0000000..6876447 --- /dev/null +++ b/census/Queries/oneworld_q1.sql @@ -0,0 +1,4 @@ +CREATE TABLE rr1 WITHOUT OIDS AS +SELECT * FROM rt +WHERE (YEARSCH = 17 OR YEARSCH = -1) AND + (CITIZEN = 0 OR CITIZEN = -1); diff --git a/census/Queries/oneworld_q2.sql b/census/Queries/oneworld_q2.sql new file mode 100644 index 0000000..5cfe71b --- /dev/null +++ b/census/Queries/oneworld_q2.sql @@ -0,0 +1,3 @@ +CREATE TABLE rr2 WITHOUT OIDS AS +SELECT TID,POWSTATE, CITIZEN, IMMIGR FROM rt +WHERE CITIZEN <> 0 AND (ENGLISH > 3 OR ENGLISH =-1); diff --git a/census/Queries/oneworld_q3.sql b/census/Queries/oneworld_q3.sql new file mode 100644 index 0000000..edde953 --- /dev/null +++ b/census/Queries/oneworld_q3.sql @@ -0,0 +1,6 @@ +CREATE TABLE rr3 WITHOUT OIDS AS +SELECT TID, POWSTATE,MARITAL,FERTIL FROM rt +WHERE (FERTIL > 4 OR FERTIL= -1) AND + (MARITAL = 1 OR MARITAL= -1) AND + (POWSTATE = POB OR POWSTATE= -1 OR POB= -1); + diff --git a/census/Queries/oneworld_q4.sql b/census/Queries/oneworld_q4.sql new file mode 100644 index 0000000..3ae5404 --- /dev/null +++ b/census/Queries/oneworld_q4.sql @@ -0,0 +1,4 @@ +CREATE TABLE rr4 WITHOUT OIDS AS +SELECT * FROM rt +WHERE (FERTIL = 1 OR FERTIL = -1) AND + (RSPOUSE = 1 OR RSPOUSE = -1); diff --git a/census/Queries/oneworld_q5.sql b/census/Queries/oneworld_q5.sql new file mode 100644 index 0000000..4f6088c --- /dev/null +++ b/census/Queries/oneworld_q5.sql @@ -0,0 +1,23 @@ +--CREATE TABLE rr2 WITHOUT OIDS AS +--SELECT TID,POWSTATE,CITIZEN,IMMIGR FROM rt +--WHERE (CITIZEN <> 0 OR CITIZEN = -1) AND +-- (ENGLISH > 3 OR ENGLISH = -1) AND +-- (POWSTATE > 50 OR POWSTATE = -1); + +--CREATE TABLE rr3 WITHOUT OIDS AS +--SELECT TID, POWSTATE,MARITAL,FERTIL FROM rt +--WHERE (FERTIL > 4 OR FERTIL = -1) AND +-- (MARITAL = 1 OR MARITAL = -1) AND +-- (POWSTATE = POB OR POWSTATE = -1 OR POB = -1) AND +-- (POWSTATE > 50 OR POWSTATE = -1); + + +CREATE TABLE rr5 WITHOUT OIDS AS +SELECT rr2.tid || 'x' || rr3.tid as tid, rr2.powstate1, rr3.powstate2, rr2.citizen, rr2.immigr, rr3.marital,rr3.fertil +FROM rr2 JOIN rr3 ON rr2.powstate1 = rr3.powstate2 +WHERE (rr2.powstate1 > 50 or rr2.powstate1 = -1) AND (rr3.powstate2 > 50 or rr3.powstate2 = -1); + +--CREATE TABLE rr5 WITHOUT OIDS AS +--SELECT rr2.tid || 'x' || rr3.tid as tid, rr2.powstate1, rr3.powstate2, rr2.citizen, rr2.immigr, rr3.marital,rr3.fertil +--FROM rr2, rr3 +--WHERE rr2.powstate1 = rr3.powstate2 and (rr2.powstate1 > 50 or rr2.powstate1 = -1) AND (rr3.powstate2 > 50 or rr3.powstate2 = -1); diff --git a/census/Queries/oneworld_q6.sql b/census/Queries/oneworld_q6.sql new file mode 100644 index 0000000..dd5961e --- /dev/null +++ b/census/Queries/oneworld_q6.sql @@ -0,0 +1,3 @@ +CREATE TABLE rr6 AS +SELECT TID,POWSTATE,POB FROM rt +WHERE (ENGLISH = 3 OR ENGLISH = -1); diff --git a/census/Queries/q1.sql b/census/Queries/q1.sql new file mode 100644 index 0000000..0451a4f --- /dev/null +++ b/census/Queries/q1.sql @@ -0,0 +1,44 @@ +-- Query 1: 2 sel-const + +CREATE TABLE r1 WITHOUT OIDS AS +SELECT * FROM rt +WHERE (YEARSCH = 17 OR YEARSCH = -1) AND (CITIZEN < 1); + + +CREATE TABLE f1 WITHOUT OIDS AS +SELECT ft.* FROM ft, r1 +WHERE ft.tid = r1.tid; + +CREATE TABLE c1 WITHOUT OIDS AS +SELECT ct.* FROM ct, f1 +WHERE ct.hid=f1.hid and + (CASE WHEN f1.Col = 'YEARSCH' + THEN ct.VALUE = 17 + ELSE (CASE WHEN f1.Col = 'CITIZEN' + THEN ct.VALUE = 0 + ELSE true + END) + END); + + +--CREATE TABLE DEL1 WITHOUT OIDS AS +--SELECT TID FROM f1 +--WHERE HID NOT IN (SELECT HID FROM c1); + +CREATE TABLE DEL1 WITHOUT OIDS AS +SELECT f1.TID FROM f1 left join c1 on (f1.hid = c1.hid) +WHERE c1.hid is null; + + +DELETE FROM r1 +WHERE TID IN (SELECT TID FROM DEL1); + +DELETE FROM f1 +WHERE TID IN (SELECT TID FROM DEL1); + +DELETE FROM c1 +WHERE HID NOT IN (SELECT HID FROM f1); + + + + diff --git a/census/Queries/q2.sql b/census/Queries/q2.sql new file mode 100644 index 0000000..f31eef6 --- /dev/null +++ b/census/Queries/q2.sql @@ -0,0 +1,69 @@ +-- Query 2: persons born outside USA that can not speak English well + +CREATE TABLE r2 WITHOUT OIDS AS +SELECT TID,POWSTATE,CITIZEN,IMMIGR FROM rt +WHERE (CITIZEN <> 0) AND (ENGLISH > 3 OR ENGLISH = -1); + +CREATE TABLE f2 WITHOUT OIDS AS +SELECT ft.* FROM ft, r2 +WHERE ft.tid = r2.tid and ft.Col IN ('IMMIGR','CITIZEN','ENGLISH','POWSTATE'); + +CREATE TABLE c2 WITHOUT OIDS AS +SELECT ct.* FROM ct, f2 +WHERE ct.hid=f2.hid and + (CASE WHEN f2.Col = 'CITIZEN' + THEN ct.VALUE <> 0 + ELSE (CASE WHEN f2.Col = 'ENGLISH' + THEN ct.VALUE > 3 + ELSE f2.Col IN ('POWSTATE','IMMIGR') + END) + END); + + + +--DELETE FROM c2 +--where +--exists(select 1 from f2 _a, f2 _b +-- where _a.cid = _b.cid and _a.tid = _b.tid and +-- _a.hid <> _b.hid and _a.hid = c2.hid and +-- c2.wid not in (select wid from c2 _c +-- where _b.hid = _c.hid)); + + +CREATE TABLE twins2 WITHOUT OIDS AS +SELECT _a.hid as left, _b.hid as right +FROM f2 _a, f2 _b +WHERE _a.cid = _b.cid and _a.tid = _b.tid and _a.hid <> _b.hid; + +DELETE FROM c2 +where +exists(select 1 from twins2 + where twins2.left = c2.hid and + c2.wid not in (select wid from c2 _c + where twins2.right = _c.hid)); + + +--CREATE TABLE DEL2 WITHOUT OIDS AS +--SELECT TID FROM f2 +--WHERE HID NOT IN (SELECT HID FROM c2); + +CREATE TABLE DEL2 WITHOUT OIDS AS +SELECT f2.TID FROM f2 left join c2 on (f2.hid = c2.hid) +WHERE c2.hid is null; + + + +DELETE FROM r2 +WHERE TID IN (SELECT TID FROM DEL2); + +DELETE FROM f2 +WHERE TID IN (SELECT TID FROM DEL2) OR Col = 'ENGLISH'; + +--DELETE FROM f2 +--WHERE TID IN (SELECT TID FROM DEL2) OR Col NOT IN ('POWSTATE','IMMIGR','CITIZEN'); + +DELETE FROM c2 +WHERE HID NOT IN (SELECT HID FROM f2); + + + diff --git a/census/Queries/q3.sql b/census/Queries/q3.sql new file mode 100644 index 0000000..db9c8cf --- /dev/null +++ b/census/Queries/q3.sql @@ -0,0 +1,99 @@ +-- Query 3: prj(sel-const+sel-join) + +CREATE TABLE r3 WITHOUT OIDS AS +SELECT TID, POWSTATE,POB,MARITAL,FERTIL FROM rt +WHERE (FERTIL > 4 OR FERTIL = -1) AND + (MARITAL = 1 OR MARITAL = -1) AND + (POWSTATE = POB OR POWSTATE = -1 OR POB = -1); + +CREATE TABLE f3 WITHOUT OIDS AS +SELECT ft.* FROM ft, r3 +WHERE ft.tid = r3.tid AND ft.Col IN ('MARITAL','FERTIL','POB','POWSTATE'); + +CREATE TABLE consts3 WITHOUT OIDS AS +SELECT HID, POWSTATE, POB +FROM r3, f3 +WHERE r3.TID = f3.TID AND + (POWSTATE = -1 AND POB <> -1 OR POWSTATE <> -1 AND POB = -1) AND + (CASE WHEN POWSTATE = -1 THEN f3.COL = 'POWSTATE' ELSE f3.COL = 'POB' END); + +---------- +create unique index consts3idx on consts3(hid); + +SET ENABLE_SEQSCAN=OFF; +---------- + +CREATE TABLE c3 WITHOUT OIDS AS +select ct.* from ct, f3 +where ct.hid=f3.hid and + (CASE WHEN f3.Col = 'FERTIL' + THEN ct.VALUE > 4 + ELSE (CASE WHEN f3.Col = 'MARITAL' + THEN ct.VALUE = 1 + ELSE f3.Col IN ('POWSTATE','POB') AND + (NOT EXISTS (SELECT 1 FROM consts3 where consts3.hid = f3.hid) OR + (CASE WHEN f3.Col = 'POWSTATE' THEN + EXISTS (SELECT 1 from consts3 WHERE consts3.hid = f3.hid AND consts3.POB = ct.VALUE) + ELSE (CASE WHEN f3.Col = 'POB' THEN EXISTS (SELECT 1 from consts3 WHERE consts3.hid = f3.hid AND consts3.POWSTATE = ct.VALUE) END) + END)) + END) + END); + +---------- +SET ENABLE_SEQSCAN=ON; +---------- + +DELETE FROM f3 +WHERE HID NOT IN (SELECT HID FROM c3); + + +------------------------------------ + +-- apply the join condition POWSTATE=POB + +SELECT 1 from filter3(); + +------------------------------------- + +--DELETE FROM c3 +--where +--exists(select 1 from f3 _a, f3 _b +-- where _a.cid = _b.cid and _a.tid = _b.tid and +-- _a.hid <> _b.hid and _a.hid = c3.hid and +-- c3.wid not in (select wid from c3 _c +-- where _b.hid = _c.hid)); + +CREATE TABLE twins3 WITHOUT OIDS AS +SELECT _a.hid as left, _b.hid as right +FROM f3 _a, f3 _b +WHERE _a.cid = _b.cid and _a.tid = _b.tid and _a.hid <> _b.hid; + +DELETE FROM c3 +where +exists(select 1 from twins3 + where twins3.left = c3.hid and + c3.wid not in (select wid from c3 _c + where twins3.right = _c.hid)); + + +--CREATE TABLE DEL3 WITHOUT OIDS AS +--SELECT TID FROM f3 +--WHERE HID NOT IN (SELECT HID FROM c3); + +CREATE TABLE DEL3 WITHOUT OIDS AS +SELECT f3.TID FROM f3 left join c3 on (f3.hid = c3.hid) +WHERE c3.hid is null; + + +DELETE FROM r3 +WHERE TID IN (SELECT TID FROM DEL3); + +DELETE FROM f3 +WHERE TID IN (SELECT TID FROM DEL3) OR Col = 'POB'; + +--DELETE FROM f3 +--WHERE TID IN (SELECT TID FROM DEL3) OR Col NOT IN ('POWSTATE','MARITAL','FERTIL'); + +DELETE FROM c3 +WHERE HID NOT IN (SELECT HID FROM f3); + diff --git a/census/Queries/q4.sql b/census/Queries/q4.sql new file mode 100644 index 0000000..c39c281 --- /dev/null +++ b/census/Queries/q4.sql @@ -0,0 +1,43 @@ +-- Query 4: 3 sel-const + +CREATE TABLE r4 WITHOUT OIDS AS +SELECT * FROM rt +WHERE (FERTIL = 1 OR FERTIL = -1) AND + (RSPOUSE = 1 OR RSPOUSE = 2 OR RSPOUSE = -1); + +CREATE TABLE f4 WITHOUT OIDS AS +SELECT ft.* FROM ft, r4 +WHERE ft.tid = r4.tid; + +CREATE TABLE c4 WITHOUT OIDS AS +SELECT ct.* FROM ct, f4 +WHERE ct.hid = f4.hid and + (CASE WHEN f4.Col = 'FERTIL' + THEN ct.VALUE = 1 + ELSE (CASE WHEN f4.Col = 'RSPOUSE' + THEN ct.VALUE = 1 OR ct.VALUE = 2 + ELSE true + END) + END); + +--CREATE TABLE DEL4 WITHOUT OIDS AS +--SELECT TID FROM f4 +--WHERE HID NOT IN (SELECT HID FROM c4); + +CREATE TABLE DEL4 WITHOUT OIDS AS +SELECT f4.TID FROM f4 left join c4 on (f4.hid = c4.hid) +WHERE c4.hid is null; + + +DELETE FROM r4 +WHERE TID IN (SELECT TID FROM DEL4); + +DELETE FROM f4 +WHERE TID IN (SELECT TID FROM DEL4); + +DELETE FROM c4 +WHERE HID NOT IN (SELECT HID FROM f4); + + + + diff --git a/census/Queries/q5.sql b/census/Queries/q5.sql new file mode 100644 index 0000000..02a7fc5 --- /dev/null +++ b/census/Queries/q5.sql @@ -0,0 +1,127 @@ +-- Query 5: join of r2(tid,powstate1,citizen,immigr) and r3(tid,powstate2,marital,fertil) on powstate1 <> powstate2 + + +-- the following two should be done outside + +update f2 +SET Col='POWSTATE1' WHERE Col='POWSTATE'; + +update f3 +SET Col='POWSTATE2' WHERE Col='POWSTATE'; + + +-- clean r2 and r3 with the selection condition + +DELETE FROM r2 +WHERE not(powstate1 > 50 or powstate1 = -1); + +DELETE FROM r3 +WHERE not(powstate2 > 50 or powstate2 = -1); + +-- create r5 as r2 x r3 + +CREATE TABLE r5 WITHOUT OIDS AS +SELECT r2.TID || 'x' || r3.TID as TID, r2.tid as tid1, r3.tid as tid2, r2.POWSTATE1, r2.CITIZEN, r2.IMMIGR, r3.POWSTATE2, r3.MARITAL,r3.FERTIL +FROM r2, r3 +WHERE +r2.POWSTATE1 = r3.POWSTATE2 OR r2.POWSTATE1 = -1 OR r3.POWSTATE2 = -1; + +DELETE FROM f2 +WHERE tid not in (select tid1 from r5); + +DELETE FROM f3 +WHERE tid not in (select tid2 from r5); + + +DELETE FROM c2 +WHERE +hid not in ( +select hid from f2 +where (case when f2.col in ('POWSTATE1','POWSTATE2') + then c2.value > 50 + else true end) +); + +DELETE FROM c3 +WHERE +hid not in ( +select hid from f3 +where (case when f3.col in ('POWSTATE1','POWSTATE2') + then c3.value > 50 + else true end) +); + + + +-- ALTER TABLE r5 DROP tid1; +-- ALTER TABLE r5 DROP tid2; + +-- create new holes: f5 = f2 x r3 union all f3 x r2 + +CREATE TABLE f5 WITHOUT OIDS AS +SELECT 'r5' as relation, f2.tid || 'x' || r3.tid as tid, f2.col, f2.cid, '1.' || f2.hid || 'x' || r3.tid as hid +FROM f2,r3 +union all +SELECT 'r5' as relation, f3.tid || 'x' || r2.tid as tid, f3.col, f3.cid, '2.' || f3.hid || 'x' || r2.tid as hid +FROM f3,r2; + +--create unique index f5hididx on f5(hid); + + + +CREATE TABLE consts5 WITHOUT OIDS AS +SELECT HID, POWSTATE1, POWSTATE2 +FROM r5, f5 +WHERE r5.TID = f5.TID AND + (POWSTATE1 = -1 AND POWSTATE2 <> -1 OR POWSTATE1 <> -1 AND POWSTATE2 = -1) AND + (CASE WHEN POWSTATE1 = -1 THEN f5.COL = 'POWSTATE1' ELSE f5.COL = 'POWSTATE2' END); + +create unique index consts5idx on consts5(hid); + +SET ENABLE_SEQSCAN=OFF; + +-- create the new component relation + +create table c5 without oids as +SELECT c2.cid, '1.' || c2.hid || 'x' || r3.tid as hid, c2.wid, c2.value +FROM c2,r3 +union all +SELECT c3.cid, '2.' || c3.hid || 'x' || r2.tid as hid, c3.wid, c3.value +FROM c3,r2; + +delete from c5 where +hid in +(select hid from consts5 +where consts5.POWSTATE2 <> c5.VALUE and consts5.POWSTATE1 <> c5.VALUE); + + +SET ENABLE_SEQSCAN=ON; + +DELETE FROM f5 +WHERE HID NOT IN (SELECT HID FROM c5); + + + +------------------------------------- + +-- apply now the join condition POWSTATE1 = POWSTATE2 on the relation c5 + +SELECT 1 from filter5(); + +------------------------------------- + +CREATE TABLE DEL5 WITHOUT OIDS AS +SELECT f5.TID FROM f5 left join c5 on (f5.hid = c5.hid) +WHERE c5.hid is null; + + +DELETE FROM r5 +WHERE TID IN (SELECT TID FROM DEL5); + +DELETE FROM f5 +WHERE TID IN (SELECT TID FROM DEL5); + +DELETE FROM c5 +WHERE HID NOT IN (SELECT HID FROM f5); + + diff --git a/census/Queries/q6.sql b/census/Queries/q6.sql new file mode 100644 index 0000000..a4b4377 --- /dev/null +++ b/census/Queries/q6.sql @@ -0,0 +1,62 @@ +-- Q6: US citizens or foreigners speaking English well + +CREATE TABLE r6 WITHOUT OIDS AS +SELECT TID, POWSTATE,POB FROM rt +WHERE (ENGLISH = 3 OR ENGLISH = -1); + + +CREATE TABLE f6 WITHOUT OIDS AS +SELECT ft.* FROM ft, r6 +WHERE ft.tid = r6.tid AND ft.Col IN ('ENGLISH','POWSTATE','POB'); + +CREATE TABLE c6 WITHOUT OIDS AS +SELECT ct.* FROM ct, f6 +WHERE ct.hid=f6.hid and + (CASE WHEN f6.Col = 'ENGLISH' + THEN ct.VALUE = 3 + ELSE f6.Col IN ('POWSTATE','POB') + END); + +--DELETE FROM c6 +--where +--exists(select 1 from f6 _a, f6 _b +-- where _a.cid = _b.cid and _a.tid = _b.tid and +-- _a.hid <> _b.hid and _a.hid = c6.hid and +-- c6.wid not in (select wid from c6 _c +-- where _b.hid = _c.hid)); + +CREATE TABLE twins6 WITHOUT OIDS AS +SELECT _a.hid as left, _b.hid as right +FROM f6 _a, f6 _b +WHERE _a.cid = _b.cid and _a.tid = _b.tid and _a.hid <> _b.hid; + +DELETE FROM c6 +where +exists(select 1 from twins6 + where twins6.left = c6.hid and + c6.wid not in (select wid from c6 _c + where twins6.right = _c.hid)); + + + + +--CREATE TABLE DEL6 WITHOUT OIDS AS +--SELECT TID FROM f6 +--WHERE HID NOT IN (SELECT HID FROM c6); + +CREATE TABLE DEL6 WITHOUT OIDS AS +SELECT f6.TID FROM f6 left join c6 on (f6.hid = c6.hid) +WHERE c6.hid is null; + +DELETE FROM r6 +WHERE TID IN (SELECT TID FROM DEL6); + +--DELETE FROM f6 +--WHERE TID IN (SELECT TID FROM DEL6) OR Col NOT IN ('POWSTATE','POB'); + +DELETE FROM f6 +WHERE TID IN (SELECT TID FROM DEL6) OR Col = 'ENGLISH'; + +DELETE FROM c6 +WHERE HID NOT IN (SELECT HID FROM f6); + diff --git a/census/Queries/statistics.sql b/census/Queries/statistics.sql new file mode 100644 index 0000000..55ba830 --- /dev/null +++ b/census/Queries/statistics.sql @@ -0,0 +1,56 @@ +create or replace view comp_sizes as +select size, count(*) as cnt +from (select cid, count(*) as size from ft group by cid) f +group by size; + +create or replace function stat(sc varchar) returns void as +$$ + DECLARE + BEGIN + insert into results + select distinct + now() as t, + sc as scenario, + (select count(*) from rt) as r_size, + (select count(*) from ft) as f_size, + (select count(*) from ct) as c_size, + (select count(distinct cid) from ft) as num_components, + coalesce((select cnt from comp_sizes where size = 1), 0) as comp_size1, + coalesce((select cnt from comp_sizes where size = 2), 0) as comp_size2, + coalesce((select cnt from comp_sizes where size = 3), 0) as comp_size3, + coalesce((select sum(cnt) from comp_sizes where size >= 4), 0) as comp_size4_and_more; + RETURN; + + END; +$$ +language plpgsql; + +create or replace function result_stat(sc varchar, Q varchar, R varchar, F varchar, C varchar) returns void as +$$ + DECLARE + BEGIN + EXECUTE 'create or replace view q_comp_sizes as + select size, count(*) as cnt + from (select cid, count(*) as size from ' || F || ' group by cid) f + group by size;'; + + EXECUTE 'insert into q_results + select distinct + now() as t,' || + quote_literal(sc) || ' as scenario, ' || + quote_literal(Q) || ' as query, + (select count(*) from ' || R || ') as r_size, + (select count(*) from ' || F || ') as f_size, + (select count(*) from ' || C || ') as c_size, + (select count(distinct cid) from ' || F || ') as num_components, + coalesce((select cnt from q_comp_sizes where size = 1), 0) as comp_size1, + coalesce((select cnt from q_comp_sizes where size = 2), 0) as comp_size2, + coalesce((select cnt from q_comp_sizes where size = 3), 0) as comp_size3, + coalesce((select sum(cnt) from q_comp_sizes where size >= 4), 0) as comp_size4_and_more;'; + RETURN; + + END; +$$ +language plpgsql; + + diff --git a/census/README b/census/README new file mode 100644 index 0000000..bfaa7fc --- /dev/null +++ b/census/README @@ -0,0 +1,100 @@ +This is a noise generator for the census data set. +The generator is implemented in Java & JDBC and uses as storage engine PostgreSQL. + +---------------- + Data +---------------- +The generator works with the anonymized US census data set, which can be obtained from [2]. + +---------------- + Data Format +---------------- +The generator generates data in UWSDT format as used by MayBMS v1 and described in reference [1]. In short, the schema of the database contains the following relations: + +rt(, ..., tid int) +ft(Relation text, tid int, col text, cid text, hid text) +ct(cid text, hid text, wid text, value int) +wt(cid text, wid text) + +---------------- + Files: +---------------- + * DataNoise/ + introduces noise in the data set by inserting additional values in randomly selected fields, that is, by replacing certain values by or-sets. + * Chase/ + implements the chase procedure to ensures a given set of equality-generating dependencies hold on the data. + * Queries/ + example queries on the census data. + * generate_data.sh + example script to generate uncertain data. + * run_queries.sh + example script to run queries on the census data. + + +Note: DataNoise and Chase are not constrained on the census data set; the configuration files allow for use with other data sets and schemata. Currently the programs are constrained to work with a single relation only but the data model allows for multiple relations and there is no conceptual difficulty in extending the code to support that. + +Below is a detailed description of the subprojects. + +---------------- + DataNoise +---------------- +Inserts additional values to randomly selected fields of the relation. + +To compile: + javac -sourcepath DataNoise/src -d DataNoise/bin/ DataNoise/src/*.java + +To run follow the steps: +1. Create index on the template relation if one does not exist: + create index rtididx on rt(tid); + +2. java -classpath DataNoise/bin:DataNoise/jdbc3.jar Main | psql -d + +The following parameters have to be specified: +- rt, ft, ct: names of the template, mapping and component relation, respectively +- size: size of the template relation rt where noise should be introduced. Tuples in rt are expected to have tuple id tid ranging from 1 to size. +- arity: arity of the relation (not counting the tid column) +- noise_ratio: percentage of the fields in the relation that should contain uncertainty. +- settings.xml: file with additional settings in xml format, including the following: + * dbname, username, password: database name, user name and password, respectively + * maxholespertuple: max number of uncertain fields per tuple + * maxholesize: max number of values to generate for an uncertain field + * vars: description of attribute names and possible values + See DataNoise/settings.xml for more information. + + In short, the algorithm works as follows. Given the desired , it selects an appropriate number of tuples to add noise to, and then chooses for each of them uniformly at random between 1 and fields. Those fields are then replaced by or-sets by inserting additional values from the attribute domain, where the max number of values to insert is controlled by the argument and is selected uniformly at random between 1 and the min of and domain size. The original value of the field is preserved. The output of the program is the sequence SQL functions needed to execute the updates, which can be streamed to psql or saved in a file for later execution. + + +---------------- + Chase +---------------- +Chases a given set of dependencies on a UWSDT, see [1] for more details. Assumes that the UWSDT relations (template rt, mappping ft, component ct) exist. The UWSDT need not be an or-set database, it can be a general UWSDT. Currently, only one (template) relation is supported. + +To compile: + javac -sourcepath Chase/src -d Chase/bin/ Chase/src/*.java + +To run follow the steps: +1. Load language pl/pgSQL in PostgreSQL (in case not already done): + psql -d -c 'create language plpgsql' +2. Load the prsel pl/pgSQL function needed for the chase procedure: + psql -d -f Chase/prsel.sql +2. Create indices on relations: + psql -d -c 'create index ftididx on ft(tid);' + psql -d -c 'create index fcididx on ft(cid);' + psql -d -c 'create index fhididx on ft(hid);' + psql -d -c 'create index ccididx on ct(cid);' + psql -d -c 'create index chididx on ct(hid);' + java -classpath Chase/bin:Chase/jdbc3.jar Main deps.xml + +The following parameters have to be specified: +- rt, ft, ct: names of the template, mapping and component relation, respectively +- dependencies.xml: xml file specifying the following + * dbname, username, password: database name, user name and password, respectively + * rules: description of the dependencies to be chased. The currently supported type of dependencies is 'eq', equality-generating dependencies of the form + IF Attr1 \theta c1 [and ...] THEN Attr0 \theta c0 + See Chase/dependencies.xml for more information. + +---------------- + References: +---------------- +[1] "10^10^6 Worlds and Beyond: Efficient Representation and Processing of Incomplete Information", Lyublena Antova, Christoph Koch, Dan Olteanu, Proc. ICDE 2007 +[2] "Integrated Public Use Microdata Series: V3.0", Steven Ruggles et al., 2004, http://www.ipums.org \ No newline at end of file diff --git a/census/generate_data.sh b/census/generate_data.sh new file mode 100644 index 0000000..95e7d4e --- /dev/null +++ b/census/generate_data.sh @@ -0,0 +1,73 @@ +# GENERATE DATA + +# define scenarios +DB=postgres +USER=postgres +DATA_DIR=data + +declare sizes_s=( 100K 500K 750K 1M 5M 7.5M 10M 12.5M ) +declare sizes=( 100000 500000 750000 1000000 5000000 7500000 10000000 12491667 ) +declare noise=( 0.00005 0.0001 0.0005 0.001 0.005 0.01 0.05 0.1 ) + +for (( i = 0; i < 8; i++ )) +do + SIZE=${sizes[$i]} + SIZE_S=${sizes_s[$i]} + + for (( j = 0; j < 4; j++ )) + do + NOISE=${noise[$j]} + + SCENARIO=n${SIZE_S}x${NOISE} + echo + echo '---------------------------------------------' + echo $SCENARIO + echo 'Time: ' `date` + echo '---------------------------------------------' + + + # drop tables + psql -q -d $DB -U $USER -c 'drop table rt cascade;' + psql -q -d $DB -U $USER -c 'drop table ft cascade;' + psql -q -d $DB -U $USER -c 'drop table ct cascade;' + psql -q -d $DB -U $USER -c 'drop table wt cascade;' + + # create tables + psql -q -d $DB -U $USER -c 'create table rt AS SELECT * FROM pums WHERE tid <= '${SIZE}';' + psql -q -d $DB -U $USER -c 'create index rtididx on rt(tid);' + + + # introduce noise + + echo "Generating Noise: $SCENARIO ... " + + /usr/bin/time -f "%e sec" java -classpath DataNoise/bin:DataNoise/jdbc3.jar Main rt ft ct $SIZE $NOISE DataNoise/settings.xml | psql -U $USER -d $DB + + echo "Dumping or-set relations..." + # dump or-set relations before chase + pg_dump -U $USER -O -t rt -t ft -t ct -t wt $DB | gzip > $DATA_DIR/$SCENARIO.or.dump.gz + + # chase + echo + echo "Chasing..." + # make sure temporary results are cleaned + psql -U $USER -d $DB -c 'drop table eqrel;' + psql -U $USER -d $DB -c 'drop table eqmap;' + psql -U $USER -d $DB -c 'drop table eqcomp;' + psql -U $USER -d $DB -c 'drop table eqworld;' + psql -U $USER -d $DB -c 'drop table invalid;' + + psql -d $DB -U $USER -f Chase/prsel.sql + psql -U $USER -d $DB -c 'create index ftididx on ft(tid);' + psql -U $USER -d $DB -c 'create index fcididx on ft(cid);' + psql -U $USER -d $DB -c 'create index fhididx on ft(hid);' + psql -U $USER -d $DB -c 'create index ccididx on ct(cid);' + psql -U $USER -d $DB -c 'create index chididx on ct(hid);' + /usr/bin/time -f "%e sec" java -classpath Chase/bin:Chase/jdbc3.jar Main rt ft ct Chase/dependencies.xml + + # dump tables + echo + echo "Dumping chased relations..." + pg_dump -U $USER -O -t rt -t ft -t ct -t wt $DB | gzip > $DATA_DIR/$SCENARIO.dump.gz + done +done diff --git a/census/run_queries.sh b/census/run_queries.sh new file mode 100644 index 0000000..26c0345 --- /dev/null +++ b/census/run_queries.sh @@ -0,0 +1,125 @@ +# RUN QUERIES + +# define scenarios +DB=postgres +USER=postgres + +DATA_DIR=data +QUERIES_DIR=queries + +declare sizes_s=( 100K 500K 750K 1M 5M 7.5M 10M 12.5M ) +declare sizes=( 100000 500000 750000 1000000 5000000 7500000 10000000 12491667 ) +declare noise=( 0.00005 0.0001 0.0005 0.001 ) +declare queries=( q1.sql q2.sql q3.sql q4.sql q5.sql q6.sql ) + +# create tables for storing results statistics +psql -d $DB -U $USER -c 'create table results(t timestamp, scenario varchar, r_size int, f_size int, c_size int, + num_components int, comp_size1 int, comp_size2 int, + comp_size3 int, comp_size4_and_more int);' +psql -d $DB -U $USER -c 'create table q_results(t timestamp, scenario varchar, + query varchar, r_size int, f_size int, c_size int, + num_components int, comp_size1 int, comp_size2 int, + comp_size3 int, comp_size4_and_more int);' + +for (( i = 0; i < 8; i++ )) +do + SIZE=${sizes[$i]} + SIZE_S=${sizes_s[$i]} + + + for (( j = 0; j < 4; j++ )) + do + NOISE=${noise[$j]} + + SCENARIO=n${SIZE_S}x${NOISE} + echo + echo '---------------------------------------------' + echo $SCENARIO + echo 'Time: ' `date` + echo '---------------------------------------------' + + # drop tables + psql --quiet -d $DB -U $USER -c 'drop table rt cascade;' + psql --quiet -d $DB -U $USER -c 'drop table ft cascade;' + psql --quiet -d $DB -U $USER -c 'drop table ct cascade;' + psql --quiet -d $DB -U $USER -c 'drop table wt cascade;' + + # load data + DUMP_FILE=$SCENARIO.dump.gz + echo 'Load data...' + /usr/bin/time -f "%e sec" gunzip -c $DATA_DIR/$DUMP_FILE | psql --quiet -d $DB -U $USER + echo 'done.' + + #TODO: vacuum + analyze + echo 'Vacuum + analyze ...' + psql --quiet -d $DB -U $USER -c 'vacuum analyze;' + echo 'done.' + + # gather statistics about the data + echo 'Gather statistics...' + psql --quiet -d $DB -U $USER -f $QUERIES_DIR/statistics.sql + psql --quiet -d $DB -U $USER -c "select stat('$SCENARIO') as input_statistics;" + echo 'done.' + + # run queries + + for (( k = 1; k <= 6; k++ )) + do + echo "Query $k" + echo "---------" + QUERY=${queries[$k-1]} + CLEAN_QUERY="clean_$QUERY" + ONEWORLD_QUERY="oneworld_$QUERY" + ONEWORLD_CLEAN_QUERY="oneworld_$CLEAN_QUERY" + + + if [ $k -eq 5 ] # rename columns for the join in Q5 + then + echo 'renaming columns' + psql -d $DB -U $USER -c 'alter table r2 rename POWSTATE to POWSTATE1;' + psql -d $DB -U $USER -c 'alter table r3 rename POWSTATE to POWSTATE2;' + fi + + if [ $l -eq 1 ] # only run the one-world query the first time for the given size + then + # clean old oneworld results + psql -d $DB -U $USER -f $QUERIES_DIR/$ONEWORLD_CLEAN_QUERY + if [ $k -eq 5 ] # rename columns for the join in Q5 + then + echo 'renaming columns' + psql -d $DB -U $USER -c 'alter table rr2 rename POWSTATE to POWSTATE1;' + psql -d $DB -U $USER -c 'alter table rr3 rename POWSTATE to POWSTATE2;' + fi + # run oneworld query + echo "Query $k one world" + echo "---------" + /usr/bin/time -f "%e sec" psql -d $DB -U $USER -f $QUERIES_DIR/$ONEWORLD_QUERY + fi + + # clean old results + psql --quiet -d $DB -U $USER -f $QUERIES_DIR/$CLEAN_QUERY + # load pg/plSQL scripts for joins + if [ $k -eq 3 ]; + then + psql -d $DB -U $USER -f $QUERIES_DIR/fun-q3.sql; + elif [ $k -eq 5 ]; + then + psql -d $DB -U $USER -f $QUERIES_DIR/fun-q5.sql; + fi + + # run query + echo "Query $k world-set, run $l" + echo "-------------------------" + /usr/bin/time -f "%e sec" psql -d $DB -U $USER -f $QUERIES_DIR/$QUERY + # gather statistics about the results + if [ $l -eq 1 ] + then + R="r$k" + F="f$k" + C="c$k" + psql -d $DB -U $USER -f $QUERIES_DIR/statistics.sql + psql -d $DB -U $USER -c "select result_stat('$SCENARIO', '$k', '$R', '$F', '$C') as result_statistics;" + fi + done + done +done diff --git a/import-www-data.sql b/import-www-data.sql new file mode 100644 index 0000000..d346bd8 --- /dev/null +++ b/import-www-data.sql @@ -0,0 +1,17 @@ +/** + ** Imports data from the web graph dataset. + ** Creates two relations n(u) and e(u,v) storing the nodes and edges, respectively. +*/ + +drop table n; +drop table e; + +create table n(u int); +create table e(u int, v int); + +copy e from './www.dat' with delimiter as ' '; + +insert into n +select u from e +union +select v from e; \ No newline at end of file diff --git a/init-www-graph.sql b/init-www-graph.sql new file mode 100644 index 0000000..5710414 --- /dev/null +++ b/init-www-graph.sql @@ -0,0 +1,91 @@ +/** + ** Initializes a random graph from the subgraph of the WWW graph by + ** assigning probabilities to the edges in the following way: + ** p(u,v) = degree(u) / max degree(w) + ** + ** Assumes as input two tables n0(u) and e0(u,v). +*/ + + +drop table to_subset cascade; +drop table in_degree; +drop table out_degree; + +drop table e1; + +drop table edge0; +drop table no_edge0; + +drop table edge; + +drop table no_edge; + +/* + Create random graph example +*/ + +create table in_degree as +( + select v, count(*) as d + from e0 + group by v +) +union +( + select u, 0 as d + from e0 + where u not in (select v from e0) +); + + +create table out_degree as +( + select u, count(*) as d + from e0 + group by u +) +union +( + select v, 0 as d + from e0 + where v not in (select u from e0) +); + + + +create table e1 +as select e0.u, e0.v, 1 as bit, o.d::float4 / (select max(d) from out_degree)::float4 as p +from e0, out_degree o +where e0.u = o.u; + +insert into e1 +select u, v, 0 as bit, 1 - p as p +from e1 +where p != 1; + + +/* This table represents all subsets of the total order over node as possible + worlds. +*/ +create table to_subset as +( +repair key u,v in e1 +weight by p +); + + +create table edge0 as (select u,v from to_subset where bit=1); +create table no_edge0 as (select u,v from to_subset where bit=0); + +/* add the missing edges to no_edge0 */ +insert into no_edge0 +select n1.u as u, n2.u as v +from n0 n1, n0 n2 +where (n1.u,n2.u) not in (select u,v from e0); + + +--create table edge as (select * from edge0); +--insert into edge (select v as u, u as v from edge0); + +--create table no_edge as (select * from no_edge0); +--insert into no_edge (select v as u, u as v from no_edge0); diff --git a/init-www-nodes.sql b/init-www-nodes.sql new file mode 100644 index 0000000..15ebd34 --- /dev/null +++ b/init-www-nodes.sql @@ -0,0 +1,39 @@ +/** + ** Initializes relaitons storing a subgraph of the WWW graph. + ** Creates tables n0(u) and e0(u,v) for the nodes and edges of the subgraph, + ** respectively. The function expects the WWW graph to be given by relations + ** n and e, and accepts as parameter number r giving the ratio of the original + ** graph nodes to retain. +**/ + +drop table n0; +drop table e0; + +/* +Create a node relation +*/ +create table n0 (u integer); +create table e0 (u integer, v integer); + +drop function init_www_nodes(float4 ); +create or replace function init_www_nodes(r float4) returns void as +$$ + DECLARE + i int; + + BEGIN + /* create a subset of the node relation by keepeing nodes uniformly at random + with the specified probability r */ + insert into n0 + select * from n + where random() < r; + + /* compute the edge relation induced by the subset of the nodes n0 */ + insert into e0 + select * from e + where u in (select u from n0) and v in (select u from n0); + + RETURN; + END; +$$ +language plpgsql; diff --git a/movie_data.sql b/movie_data.sql new file mode 100644 index 0000000..0657d5b --- /dev/null +++ b/movie_data.sql @@ -0,0 +1,11920 @@ +create table MOVIES (movie_id int, title varchar, year int, director varchar); +insert into movies values (1, 'Dinosaur Planet', 2003, 'Unknown'); +insert into movies values (2, 'Isle of Man TT 2004 Review', 2004, 'Unknown'); +insert into movies values (3, 'Characters', 2001, 'Surrell, Jason'); +insert into movies values (3, 'Characters', 2005, 'Asch, Kevin Tyler'); +insert into movies values (3, 'Characters', 1999, 'Davis, Anthony M.'); +insert into movies values (3, 'Main Character, The', 2005, 'Jun, Chris'); +insert into movies values (4, 'Paula Abdul\'s Get Up & Dance', 1994, 'Unknown'); +insert into movies values (5, 'The Rise and Fall of ECW', 2004, 'Unknown'); +insert into movies values (6, 'Sickness', 1996, 'Amador, Humberto'); +insert into movies values (6, 'Sick Call', 2004, 'Caradonna, Michael'); +insert into movies values (6, 'Sick Time', 1995, 'Legge, Michael'); +insert into movies values (6, 'Sicko', 2006, 'Moore, Michael'); +insert into movies values (6, 'Sick Abed', 1920, 'Wood, Sam'); +insert into movies values (7, '8 Man', 1992, 'Unknown'); +insert into movies values (8, 'What the #$*! Do We Know!', 2004, 'Unknown'); +insert into movies values (9, 'Class of Nuke \'Em High 2', 1991, 'Unknown'); +insert into movies values (10, 'Bull Fighter, The', 1927, 'Cline, Edward F.'); +insert into movies values (10, 'Fear Fighter, The', 1925, 'Rogell, Albert S.'); +insert into movies values (10, 'Fighter, The', 1952, 'Kline, Herbert'); +insert into movies values (10, 'Fighter', 2000, 'Bar-Lev, Amir'); +insert into movies values (10, 'Fighter Wing', 1956, 'Haldane, Don'); +insert into movies values (10, 'Fighter, The', 1987, 'Maharaj, Anthony'); +insert into movies values (10, 'Fighter, The', 1921, 'Kolker, Henry'); +insert into movies values (10, 'Fighter, The', 2001, 'Adante, Michael'); +insert into movies values (10, 'Fighter, The', 2005, 'Cho, Peter'); +insert into movies values (10, 'Fighter, The', 2005, 'Ward, Ryan'); +insert into movies values (10, 'Last Fighter, The', 1996, 'Willis, Jeremy'); +insert into movies values (10, 'Love Fighter, The', 1926, 'Rock, Joe'); +insert into movies values (11, 'Full Frame: Documentary Shorts', 1999, 'Unknown'); +insert into movies values (12, 'My Favorite Brunette', 1947, 'Nugent, Elliott'); +insert into movies values (13, 'Lord of the Rings: The Return of the King: Extended Edition: Bonus Material', 2003, 'Unknown'); +insert into movies values (14, 'Nature: Antarctica', 1982, 'Unknown'); +insert into movies values (15, 'Neil Diamond: Greatest Hits Live', 1988, 'Hemion, Dwight'); +insert into movies values (16, 'Screamers', 1995, 'Duguay, Christian'); +insert into movies values (16, 'Screamers', 2006, 'Garapedian, Carla'); +insert into movies values (16, 'Screamers', 2000, 'Richard, Andre'); +insert into movies values (17, '47 Seconds', 2005, 'Louhimies, Aku'); +insert into movies values (17, '7 Seconds', 2005, 'Fellows, Simon'); +insert into movies values (18, 'Immortal Beloved', 1994, 'Rose, Bernard'); +insert into movies values (19, 'By Dawn\'s Early Light', 2000, 'Unknown'); +insert into movies values (20, 'Seeta Aur Geeta', 1972, 'Sippy, Ramesh'); +insert into movies values (21, 'Strange Relations', 2002, 'Unknown'); +insert into movies values (22, 'Chump Change', 2001, 'Burrows, Stephen'); +insert into movies values (23, 'Clifford: Clifford Saves the Day! / Clifford\'s Fluffiest Friend Cleo', 2001, 'Unknown'); +insert into movies values (24, 'My Bloody Valentine', 1981, 'Mihalka, George'); +insert into movies values (25, 'Inspector Morse 31: Death Is Now My Neighbour', 1997, 'Unknown'); +insert into movies values (26, 'Never Die Alone', 2004, 'Dickerson, Ernest R.'); +insert into movies values (27, 'Sesame Street: Elmo\'s World: The Street We Live On', 1962, 'Unknown'); +insert into movies values (28, 'Lilo and Stitch', 2002, 'Unknown'); +insert into movies values (29, 'Boycott', 2001, 'Unknown'); +insert into movies values (30, 'Something\'s Gotta Give', 2003, 'Meyers, Nancy'); +insert into movies values (31, 'Classic Albums: Meat Loaf: Bat Out of Hell', 1999, 'Unknown'); +insert into movies values (32, 'ABC Primetime: Mel Gibson\'s The Passion of the Christ', 2004, 'Unknown'); +insert into movies values (33, 'Aqua Teen Hunger Force: Vol. 1', 2000, 'Unknown'); +insert into movies values (34, 'Ashtanga Yoga: Beginner\'s Practice with Nicki Doane', 2003, 'Unknown'); +insert into movies values (35, 'Ferngully 2: The Magical Rescue', 2000, 'Unknown'); +insert into movies values (36, 'Lady Chatterley II', 1989, 'Onorati, Lorenzo'); +insert into movies values (36, 'Lady Chatterley', 2006, 'Ferran, Pascale'); +insert into movies values (37, 'Zatoichi\'s Conspiracy', 1973, 'Unknown'); +insert into movies values (38, 'Daydream Obsession', 2004, 'Smyth, Thomas R.'); +insert into movies values (39, 'Love Reinvented', 2000, 'Unknown'); +insert into movies values (40, 'Pitcher and the Pin-Up', 2004, 'Unknown'); +insert into movies values (41, 'Horror Vision', 2000, 'Unknown'); +insert into movies values (42, 'Searching for Paradise', 2002, 'Paci, Myra'); +insert into movies values (43, 'Silent Service', 1974, 'Choudhury, Santi P.'); +insert into movies values (43, 'Silent Service', 1995, 'Takahashi, Ryosuke'); +insert into movies values (44, 'Spitfire Grill, The', 1996, 'Zlotoff, Lee David'); +insert into movies values (45, 'The Love Letter', 1999, 'Unknown'); +insert into movies values (46, 'Rudolph the Red-Nosed Reindeer', 1948, 'Fleischer, Max'); +insert into movies values (47, 'The Bad and the Beautiful', 1952, 'Unknown'); +insert into movies values (48, 'Justice League', 2001, 'Unknown'); +insert into movies values (49, 'Devo: The Complete Truth About De-evolution', 2003, 'Unknown'); +insert into movies values (50, 'A Yank in the R.A.F.', 1941, 'Unknown'); +insert into movies values (51, 'Jonah: A VeggieTales Movie: Bonus Material', 2002, 'Unknown'); +insert into movies values (52, 'The Weather Underground', 2002, 'Unknown'); +insert into movies values (53, 'The Bonesetter', 2003, 'Unknown'); +insert into movies values (54, 'We\'re Not Married!', 1952, 'Goulding, Edmund'); +insert into movies values (55, 'Jade', 1995, 'Friedkin, William'); +insert into movies values (55, 'Jade', 1988, 'Hourigan, Jonathan'); +insert into movies values (55, 'Jaded', 1989, 'Kodar, Oja'); +insert into movies values (55, 'Jaded', 1996, 'Krooth, Caryn'); +insert into movies values (55, 'Jade', 1934, 'Samuelson, G.B.'); +insert into movies values (55, 'Jaded', 1989, 'Seven, Bruce'); +insert into movies values (55, 'Jaded', 2004, 'Thomas, Paul'); +insert into movies values (56, 'Carandiru', 2003, 'Babenco, Hector'); +insert into movies values (57, 'Richard III', 1955, 'Olivier, Laurence'); +insert into movies values (57, 'Richard III', 1995, 'Loncraine, Richard'); +insert into movies values (57, 'Richard III', 2006, 'Anderson, Scott'); +insert into movies values (57, 'Richard III', 1986, 'Ruiz, Raoul'); +insert into movies values (57, 'Richard III', 2005, 'Day, Maximilian'); +insert into movies values (57, 'Richard III', 1911, 'Benson, Frank R.'); +insert into movies values (57, 'Richard III', 1908, 'Blackton, J. Stuart'); +insert into movies values (57, 'Richard III', 1908, 'Ranous, William V.'); +insert into movies values (57, 'Richard III', 1912, 'Calmettes, Andre'); +insert into movies values (57, 'Richard III', 1912, 'Keane, James'); +insert into movies values (58, 'Dragonheart', 1996, 'Cohen, Rob'); +insert into movies values (59, 'Sex and the Beauties', 2003, 'Unknown'); +insert into movies values (60, 'The Libertine', 1969, 'Unknown'); +insert into movies values (61, 'Ricky Martin: One Night Only', 1999, 'Unknown'); +insert into movies values (62, 'Ken Burns\' America: Empire of the Air', 1991, 'Unknown'); +insert into movies values (63, 'Crash Dive', 1997, 'Stevens, Andrew'); +insert into movies values (63, 'Crash Dive', 1943, 'Mayo, Archie'); +insert into movies values (64, 'Outside the Law', 1920, 'Browning, Tod'); +insert into movies values (64, 'Outside the Law', 1930, 'Browning, Tod'); +insert into movies values (64, 'Outside the Law', 1956, 'Arnold, Jack'); +insert into movies values (65, 'Lost in the Pershing Point Hotel', 2000, 'Pierrepont III, Julia Jay'); +insert into movies values (66, 'Barbarian Queen 2', 1989, 'Unknown'); +insert into movies values (67, 'Vampire Journals', 1997, 'Nicolaou, Ted'); +insert into movies values (68, 'Invader Zim', 2004, 'Unknown'); +insert into movies values (69, 'WWE: Armageddon 2003', 2003, 'Unknown'); +insert into movies values (70, 'Tai Chi: The 24 Forms', 1999, 'Unknown'); +insert into movies values (71, 'Maya Lin: A Strong Clear Vision', 1994, 'Mock, Freida Lee'); +insert into movies values (72, 'At Home Among Strangers, A Stranger Among His Own', 1974, 'Unknown'); +insert into movies values (73, 'Davy Crockett: 50th Anniversary Double Feature', 1954, 'Unknown'); +insert into movies values (74, '6ixtynin9', 1999, 'Unknown'); +insert into movies values (75, 'Grind, The', 1915, 'De Grasse, Joseph'); +insert into movies values (75, 'Grinders', 1996, 'Ellenberg, Gary'); +insert into movies values (75, 'Grinding', 2004, 'Hamblin, Michael'); +insert into movies values (75, 'Grind', 1997, 'Kentis, Chris'); +insert into movies values (75, 'Grind', 2003, 'La Scala, Casey'); +insert into movies values (75, 'Grind', 1988, 'Pachard, Henri'); +insert into movies values (75, 'Grindhouse', 2007, 'Rodriguez, Robert'); +insert into movies values (75, 'Grindhouse', 2007, 'Tarantino, Quentin'); +insert into movies values (75, 'Grindhouse', 2003, 'Tramontana, Stephen'); +insert into movies values (76, 'I Love Lucy: Season 2', 1952, 'Unknown'); +insert into movies values (77, 'Congo vivo', 1962, 'Bennati, Giuseppe'); +insert into movies values (77, 'Congo Bill', 1948, 'Bennet, Spencer Gordon'); +insert into movies values (77, 'Congo Bill', 1948, 'Carr, Thomas'); +insert into movies values (77, 'Congo', 1945, 'Cauvin, Andre'); +insert into movies values (77, 'Congorama', 2006, 'Falardeau, Philippe'); +insert into movies values (77, 'Congo Jazz', 1930, 'Harman, Hugh'); +insert into movies values (77, 'Congo Jazz', 1930, 'Ising, Rudolf'); +insert into movies values (77, 'Congo', 1995, 'Marshall, Frank'); +insert into movies values (78, 'Jingle All the Way', 1996, 'Levant, Brian'); +insert into movies values (79, 'The Killing', 1956, 'Unknown'); +insert into movies values (80, 'Winter Kills', 1979, 'Richert, William'); +insert into movies values (81, 'Antarctica: IMAX', 1991, 'Unknown'); +insert into movies values (82, 'The Frogmen', 1951, 'Unknown'); +insert into movies values (83, 'Silkwood', 1983, 'Nichols, Mike'); +insert into movies values (84, 'The Powerpuff Girls Movie', 2002, 'Unknown'); +insert into movies values (85, 'Elfen Lied', 2005, 'Unknown'); +insert into movies values (86, 'Iron Monkey 2', 1996, 'Unknown'); +insert into movies values (87, 'Louder Than Bombs', 2002, 'Unknown'); +insert into movies values (88, 'Record of Lodoss War: Chronicles of the Heroic Knight', 1998, 'Unknown'); +insert into movies values (89, 'Chain of Command', 2000, 'Terlesky, John'); +insert into movies values (89, 'Chain of Command', 1967, 'Pearson, Peter'); +insert into movies values (89, 'Chain of Command', 1994, 'Worth, David'); +insert into movies values (90, 'The Lemon Drop Kid', 1951, 'Unknown'); +insert into movies values (91, 'WWE: Royal Rumble 2005', 2005, 'Unknown'); +insert into movies values (92, 'ECW: Cyberslam \'99', 2002, 'Unknown'); +insert into movies values (93, 'They Came Back', 2004, 'Unknown'); +insert into movies values (94, 'G3: Live in Concert', 2000, 'Unknown'); +insert into movies values (95, 'Dona Herlinda and Her Son', 1985, 'Unknown'); +insert into movies values (96, 'Inside the Space Station', 2000, 'Unknown'); +insert into movies values (97, 'Mostly Martha', 2002, 'Unknown'); +insert into movies values (98, 'The Battle of Algiers: Bonus Material', 1965, 'Unknown'); +insert into movies values (99, 'A Fishy Story', 1989, 'Unknown'); +insert into movies values (100, 'Sam the Iron Bridge', 1993, 'Unknown'); +insert into movies values (101, 'Complete Shamanic Princess', 1997, 'Unknown'); +insert into movies values (102, 'Notre Musique', 2004, 'Unknown'); +insert into movies values (103, 'Sanford and Son: Season 6', 1976, 'Unknown'); +insert into movies values (104, 'The Great Race', 1965, 'Unknown'); +insert into movies values (105, 'Obsessed', 1997, 'Suarez, Bobby A.'); +insert into movies values (106, 'Stevie Ray Vaughan and Double Trouble: Live at Montreux 1982 & 1985', 2004, 'Unknown'); +insert into movies values (107, 'Magnolia: Bonus Material', 2000, 'Unknown'); +insert into movies values (108, 'Spartan', 2004, 'Mamet, David'); +insert into movies values (109, 'No Way Back', 1949, 'Osiecki, Stefan'); +insert into movies values (109, 'No Way Back', 1995, 'Cappello, Frank A.'); +insert into movies values (109, 'No Way Back', 1976, 'Williamson, Fred'); +insert into movies values (110, 'Scandal', 1989, 'Caton-Jones, Michael'); +insert into movies values (110, 'Scandalo', 1976, 'Samperi, Salvatore'); +insert into movies values (110, 'Scandale, Le', 1918, 'de Baroncelli, Jacques'); +insert into movies values (110, 'Scandal', 2004, 'Steel, Nicholas'); +insert into movies values (110, 'Scandal', 1915, 'Smalley, Phillips'); +insert into movies values (110, 'Scandal', 1915, 'Weber, Lois'); +insert into movies values (110, 'Scandal', 1929, 'Ruggles, Wesley'); +insert into movies values (110, 'Scandale', 2003, 'Coppula, Fred'); +insert into movies values (110, 'Scandalous', 1989, 'Fox, Scotty'); +insert into movies values (110, 'Scandal', 1999, 'Bandinelli, Silvio'); +insert into movies values (110, 'Scandal', 1995, 'Ellison, Austin'); +insert into movies values (110, 'Scandal', 1917, 'Giblyn, Charles'); +insert into movies values (110, 'Scandalo, Lo', 1966, 'Gobbi, Anna'); +insert into movies values (110, 'Scandale, Le', 1967, 'Chabrol, Claude'); +insert into movies values (110, 'Scandale', 1982, 'Mihalka, George'); +insert into movies values (110, 'Scandal', 1929, 'Perestiani, Ivane'); +insert into movies values (110, 'Scandale', 1948, 'Le Henaff, Rene'); +insert into movies values (110, 'Scandale, Le', 1934, 'L\'Herbier, Marcel'); +insert into movies values (110, 'Scandalous', 1984, 'Cohen, Rob'); +insert into movies values (110, 'Scandal, The', 1923, 'Rooke, Arthur'); +insert into movies values (110, 'Town Scandal, The', 1923, 'Baggot, King'); +insert into movies values (111, 'Duplex (Widescreen)', 2003, 'Unknown'); +insert into movies values (112, 'The Eye of Vichy', 1993, 'Unknown'); +insert into movies values (113, 'Bruce Lee: A Warrior\'s Journey', 2000, 'Lee, Bruce'); +insert into movies values (113, 'Bruce Lee: A Warrior\'s Journey', 2000, 'Little, John'); +insert into movies values (114, 'Dominion Tank Police Part 1 & 2', 1989, 'Unknown'); +insert into movies values (115, 'Lord Peter Wimsey: Murder Must Advertise', 1973, 'Unknown'); +insert into movies values (116, 'Bear Cub', 2004, 'Unknown'); +insert into movies values (117, 'Silk Stockings', 1927, 'Ruggles, Wesley'); +insert into movies values (117, 'Silk Stockings', 1920, 'Clemens, James H.'); +insert into movies values (117, 'Silk Stockings', 2004, 'Avalon, James'); +insert into movies values (117, 'Silk Stockings', 1957, 'Mamoulian, Rouben'); +insert into movies values (118, 'Rambo: First Blood Part II', 1985, 'Cosmatos, George P.'); +insert into movies values (119, 'Travel the World by Train: Africa', 1999, 'Loveridge, Graham'); +insert into movies values (120, 'Plain Dirty', 2004, 'Unknown'); +insert into movies values (121, 'Beyonce: Live at Wembley', 2003, 'Unknown'); +insert into movies values (122, 'Cube 2: Hypercube', 2002, 'Sekula, Andrzej'); +insert into movies values (123, 'Chain of Fools', 2000, 'Loewenhielm, Pontus'); +insert into movies values (123, 'Chain of Fools', 2000, 'von Krusenstjerna, Patrick'); +insert into movies values (124, 'Cold Blooded', 2000, 'Unknown'); +insert into movies values (125, 'Nighthawks', 1994, 'Satijn, Ruud'); +insert into movies values (125, 'Nighthawks', 1981, 'Malmuth, Bruce'); +insert into movies values (125, 'Nighthawks', 1981, 'Nelson, Gary'); +insert into movies values (125, 'Nighthawks', 1978, 'Peck, Ron'); +insert into movies values (125, 'Nighthawks', 1998, 'Popov, Dmitri'); +insert into movies values (126, 'Vampire Effect (aka Twins Effect)', 2003, 'Unknown'); +insert into movies values (127, 'Fatal Beauty', 1987, 'Holland, Tom'); +insert into movies values (128, 'Mr. Vampire', 1985, 'Unknown'); +insert into movies values (129, 'Darkwolf', 2003, 'Unknown'); +insert into movies values (130, 'Drowning on Dry Land', 1999, 'Colpaert, Carl'); +insert into movies values (131, 'Arachnid', 2001, 'Sholder, Jack'); +insert into movies values (132, 'Lucio Fulci: The Beyond', 1981, 'Unknown'); +insert into movies values (133, 'Viva La Bam: Season 1', 2003, 'Unknown'); +insert into movies values (134, 'Spirit Lost', 1996, 'Barnette, Neema'); +insert into movies values (135, 'GTO: Great Teacher Onizuka: Set 2', 1998, 'Unknown'); +insert into movies values (136, 'Cat and the Canary, The', 1979, 'Metzger, Radley'); +insert into movies values (136, 'Cat and the Canary, The', 1939, 'Nugent, Elliott'); +insert into movies values (136, 'Cat and the Canary, The', 1927, 'Leni, Paul'); +insert into movies values (137, 'Naked Lies', 1998, 'Portillo, Ralph E.'); +insert into movies values (138, 'Star Trek: Voyager: Season 1', 1995, 'Unknown'); +insert into movies values (139, 'Allergies: A Natural Approach', 2001, 'Unknown'); +insert into movies values (140, 'Lost in the Wild', 1993, 'Unknown'); +insert into movies values (141, 'Goddess of Mercy', 2004, 'Unknown'); +insert into movies values (142, 'The Tricky Master', 2000, 'Unknown'); +insert into movies values (143, 'The Game', 1997, 'Unknown'); +insert into movies values (144, 'Deepak Chopra: The Way of the Wizard & Alchemy', 2000, 'Unknown'); +insert into movies values (145, 'Get Out Your Handkerchiefs', 1978, 'Unknown'); +insert into movies values (146, 'Cannibal Women in the Avocado Jungle of Death', 1989, 'Lawton, J.F.'); +insert into movies values (147, 'Where Sleeping Dogs Lie', 1992, 'Finch, Charles'); +insert into movies values (148, 'Sweet November', 2001, 'O\'Connor, Pat'); +insert into movies values (148, 'Sweet November', 1968, 'Miller, Robert Ellis'); +insert into movies values (149, 'The Edward R. Murrow Collection', 2005, 'Unknown'); +insert into movies values (150, 'Firetrap', 2001, 'Done, Harris'); +insert into movies values (151, 'Sleepover Nightmare', 2005, 'Collins, Boon'); +insert into movies values (152, 'A Little Princess', 1995, 'Unknown'); +insert into movies values (153, 'MTV Yoga', 2002, 'Unknown'); +insert into movies values (154, 'Demon Warrior Koji', 2000, 'Unknown'); +insert into movies values (155, 'The Strongest Man in the World', 1975, 'Unknown'); +insert into movies values (156, 'Husbands and Wives', 1992, 'Allen, Woody'); +insert into movies values (156, 'Husbands and Wives', 1920, 'Levering, Joseph'); +insert into movies values (157, 'Laird: White Knuckle Extreme', 2004, 'Unknown'); +insert into movies values (158, 'A Killer Within', 2004, 'Unknown'); +insert into movies values (159, 'Gentlemen of Fortune', 1971, 'Unknown'); +insert into movies values (160, 'Gormenghast', 2000, 'Wilson, Andy'); +insert into movies values (161, 'Ninotchka', 1939, 'Lubitsch, Ernst'); +insert into movies values (162, 'John Cleese on How to Irritate People', 1968, 'Unknown'); +insert into movies values (163, 'MTV: Making the Band 2: Best of Season 1', 2002, 'Unknown'); +insert into movies values (164, 'One Last Dance', 2003, 'Niemi, Lisa'); +insert into movies values (164, 'One Last Dance', 2005, 'Makowski, Max'); +insert into movies values (165, 'Richard Pryor: Live on the Sunset Strip', 1982, 'Unknown'); +insert into movies values (166, 'Fame', 1984, 'Benvenuti, Paolo'); +insert into movies values (166, 'Fame', 1936, 'Hiscott, Leslie S.'); +insert into movies values (166, 'Fame', 1980, 'Parker, Alan'); +insert into movies values (167, 'The Chorus', 2004, 'Unknown'); +insert into movies values (168, 'Smokey and the Bandit Part 3', 1983, 'Lowry, Dick'); +insert into movies values (169, 'Cartoon Network Halloween: 9 Creepy Cartoon Capers', 2004, 'Unknown'); +insert into movies values (170, 'No Tomorrow', 1999, 'P, Master'); +insert into movies values (170, 'No Tomorrow', 2002, 'Irvine, Matt'); +insert into movies values (170, 'Tomorrow', 2005, 'Gil Ferrer, Carlos'); +insert into movies values (170, 'When Tomorrow Dies', 1965, 'Kent, Larry'); +insert into movies values (170, 'Tomorrow', 1972, 'Anthony, Joseph'); +insert into movies values (170, 'Tomorrow', 2005, 'Clayton, Alastair'); +insert into movies values (171, 'Funny Face', 1932, 'Iwerks, Ub'); +insert into movies values (171, 'Funny Face', 1927, 'Lamont, Charles'); +insert into movies values (171, 'Funny Face', 1957, 'Donen, Stanley'); +insert into movies values (172, 'See Jack Run', 1991, 'Amis, Stephen'); +insert into movies values (172, 'Jackpot', 2005, 'Baadkar, Samit L.'); +insert into movies values (172, 'Jackie', 1985, 'Bapu'); +insert into movies values (172, 'Jack Bush', 1979, 'Battle, Murray'); +insert into movies values (172, 'Jackaroos', 1991, 'Bjorn, Kristen'); +insert into movies values (172, 'Jack', 2006, 'Borlenghi, Matt'); +insert into movies values (172, 'Jack', 1916, 'Borzage, Frank'); +insert into movies values (172, 'Jackson', 2006, 'Castelli, Dino'); +insert into movies values (172, 'Jill Jacks Off', 1993, 'Constantinou, S.D.'); +insert into movies values (172, 'Jackpot', 2005, 'Copping, Martin'); +insert into movies values (172, 'Jack', 1996, 'Coppola, Francis Ford'); +insert into movies values (172, 'Jacked Up', 2000, 'Creg, Harold'); +insert into movies values (172, 'Jack', 2007, 'Dobkin, David'); +insert into movies values (172, 'Jacky', 1990, 'Esterkin, Rahel'); +insert into movies values (172, 'Jacked', 2001, 'Folsome, Timothy Wayne'); +insert into movies values (172, 'Jacked', 2003, 'Fontaine, Dudley'); +insert into movies values (172, 'Jackie', 1921, 'Ford, John'); +insert into movies values (172, 'Jack Ahoy', 1934, 'Forde, Walter'); +insert into movies values (172, 'Jackpot', 1982, 'Goodell, John D.'); +insert into movies values (172, 'Jackals', 1986, 'Grillo, Gary'); +insert into movies values (172, 'Jill Jacks Off', 1993, 'H.D.'); +insert into movies values (172, 'Jack Tar', 1915, 'Haldane, Bert'); +insert into movies values (172, 'Jack', 1976, 'Halldoff, Jan'); +insert into movies values (172, 'Jacklight', 1995, 'Hentges, Steven'); +insert into movies values (172, 'Jacky', 2000, 'Hu, Fow Pyng'); +insert into movies values (172, 'Jack', 2005, 'Hubbard, Simon'); +insert into movies values (172, 'Jackpost', 2003, 'Jellab, Najat'); +insert into movies values (172, 'Jackpot', 1993, 'Jomon'); +insert into movies values (172, 'Jacknife', 1989, 'Jones, David Hugh'); +insert into movies values (172, 'Jackpot', 1996, 'Kachikis, Kris'); +insert into movies values (172, 'Jackpot 2', 1982, 'Kaurismki, Mika'); +insert into movies values (172, 'Jackpot', 2005, 'Kristensen, Kasper Vejlo'); +insert into movies values (172, 'Jack-O', 1995, 'Latshaw, Steve'); +insert into movies values (172, 'Jacks', 2000, 'Lawler, Jesse'); +insert into movies values (172, 'Jackson', 2005, 'Lawton, J.F.'); +insert into movies values (172, 'Jack', 1913, 'Liabel, Andre'); +insert into movies values (172, 'Jack', 2002, 'Limpus, Matty'); +insert into movies values (172, 'Jacky', 2000, 'Ljatifi, Brat'); +insert into movies values (172, 'Jacktown', 1962, 'Martin, William'); +insert into movies values (172, 'Jacklight', 1999, 'Mascara, Tina'); +insert into movies values (172, 'Jacked Up', 2000, 'Mills, Brian'); +insert into movies values (172, 'Jack', 1997, 'Mullan, Mary'); +insert into movies values (172, 'Jack', 2003, 'Nla, Thomas'); +insert into movies values (172, 'Jackpot', 1992, 'Orfini, Mario'); +insert into movies values (172, 'Jackpot', 2001, 'Polish, Michael'); +insert into movies values (172, 'Jackville', 1965, 'Rouch, Jean'); +insert into movies values (172, 'Jack Pot', 1940, 'Rowland, Roy'); +insert into movies values (172, 'Jack', 1925, 'Saidreau, Robert'); +insert into movies values (172, 'Jackpot', 1980, 'Sami, Renate'); +insert into movies values (172, 'Jacker', 1993, 'Stansky, Benjamin'); +insert into movies values (172, 'Jack', 1979, 'Stephens, John'); +insert into movies values (172, 'Jackpot', 1960, 'Tully, Montgomery'); +insert into movies values (172, 'Jackpot', 1990, 'Unt, Riho'); +insert into movies values (172, 'Jack', 1972, 'Uribe, Imanol'); +insert into movies values (172, 'Jackpot 3', 2002, 'Viljanen, Markus'); +insert into movies values (172, 'Jack', 1997, 'Voevodsky, Greg'); +insert into movies values (172, 'Jackpot', 1990, 'Volmer, Hardi'); +insert into movies values (172, 'Jackanory', 2001, 'Walsh, Darren'); +insert into movies values (172, 'Jack\'d', 2001, 'Warren, Matthew'); +insert into movies values (172, 'Jackpot', 1980, 'Weiss, Matthias'); +insert into movies values (173, 'The Devil\'s Brigade', 1968, 'Unknown'); +insert into movies values (174, 'Adam-12: Season 1', 1968, 'Unknown'); +insert into movies values (175, 'Reservoir Dogs', 1992, 'Tarantino, Quentin'); +insert into movies values (176, 'The History Channel Presents: Troy: Unearthing the Legend', 2004, 'Unknown'); +insert into movies values (177, 'Pressure', 1976, 'Ove, Horace'); +insert into movies values (177, 'Pressure', 1998, 'Sieff, Anita'); +insert into movies values (177, 'Pressure', 2002, 'Gale, Richard'); +insert into movies values (177, 'Pressure', 2002, 'Mesa, John P.'); +insert into movies values (178, 'Regular Guys', 1996, 'Unknown'); +insert into movies values (179, 'Bollywood Bound', 2001, 'Pahuja, Nisha'); +insert into movies values (180, 'Scratch, The', 2004, 'Kaurich, Brian'); +insert into movies values (180, 'Scratch', 2000, 'Ralph, Michael'); +insert into movies values (180, 'Scratch', 2000, 'Van Cuijlenborg, Oerd'); +insert into movies values (180, 'Scratch', 1982, 'Patin, Claude'); +insert into movies values (180, 'Scratched', 1916, 'Kelsey, Fred'); +insert into movies values (180, 'Scratch', 2002, 'Giradet, Christoph'); +insert into movies values (180, 'Scratches', 2002, 'Huey, Iris'); +insert into movies values (180, 'Scratch', 2001, 'Pray, Doug'); +insert into movies values (180, 'Scratched', 2005, 'Bain, Travis'); +insert into movies values (180, 'Scratch', 2005, 'Solomonoff, Julia'); +insert into movies values (181, 'The Last Shot', 2004, 'Unknown'); +insert into movies values (182, 'Moby: Play', 2001, 'Unknown'); +insert into movies values (183, 'IFilm: Deranged', 2005, 'Unknown'); +insert into movies values (184, 'Billy Blanks: Tae Bo: Cardio Circuit 1', 2004, 'Unknown'); +insert into movies values (185, 'Missing in Action 2: The Beginning / Missing in Action 3: Braddock', 1985, 'Unknown'); +insert into movies values (186, 'Panic in the Streets', 1950, 'Kazan, Elia'); +insert into movies values (187, 'Death to Smoochy', 2002, 'DeVito, Danny'); +insert into movies values (188, 'Dead Birds', 2004, 'Turner, Alex'); +insert into movies values (188, 'Dead Birds', 1965, 'Gardner, Robert'); +insert into movies values (189, 'Airplane II: The Sequel', 1982, 'Finkleman, Ken'); +insert into movies values (190, 'Blood and Sand', 1941, 'Mamoulian, Rouben'); +insert into movies values (190, 'Blood and Sand', 1922, 'Arzner, Dorothy'); +insert into movies values (190, 'Blood and Sand', 1922, 'Niblo, Fred'); +insert into movies values (191, 'X2: X-Men United', 2003, 'Unknown'); +insert into movies values (192, 'The SoulTaker', 2003, 'Unknown'); +insert into movies values (193, 'Marilyn Manson: Fear of a Satanic Planet', 2005, 'Unknown'); +insert into movies values (194, 'Arliss: The Best of Arliss', 1996, 'Unknown'); +insert into movies values (195, 'Chasing Freedom', 2004, 'Unknown'); +insert into movies values (196, 'Peter Tosh: Stepping Razor: Red X', 1992, 'Unknown'); +insert into movies values (197, 'Taking Lives', 2004, 'Caruso, D.J.'); +insert into movies values (198, 'Gupt', 1997, 'Unknown'); +insert into movies values (199, 'The Deer Hunter', 1978, 'Unknown'); +insert into movies values (200, 'The Fall of the Roman Empire', 1964, 'Unknown'); +insert into movies values (201, 'Home Movie', 1973, 'Oxenberg, Jan'); +insert into movies values (201, 'Home Movies', 1998, 'Davies, Ray'); +insert into movies values (201, 'Home Movies', 1980, 'De Palma, Brian'); +insert into movies values (201, 'Home Movie', 1997, 'De Bisschop, Sarah'); +insert into movies values (201, 'Home Movie', 1991, 'Lovece, Frank'); +insert into movies values (201, 'Home Movies', 1988, 'La Bruce, Bruce'); +insert into movies values (201, 'Home Movies', 1988, 'Parker, Candy'); +insert into movies values (201, 'Home Movie', 2001, 'Smith, Chris'); +insert into movies values (201, 'Home Movies', 1940, 'Wrangell, Basil'); +insert into movies values (201, 'Last Home Movie, The', 2004, 'Williams, David D.'); +insert into movies values (202, 'Ruby\'s Bucket of Blood', 2001, 'Unknown'); +insert into movies values (203, 'Sports Illustrated Swimsuit Edition: 1997', 1997, 'Unknown'); +insert into movies values (204, 'Venus Boyz', 2002, 'Baur, Gabrielle'); +insert into movies values (205, 'Troy: Bonus Material', 2004, 'Unknown'); +insert into movies values (206, 'Unconstitutional: The War on Our Civil Liberties', 2004, 'Unknown'); +insert into movies values (207, 'Denise Austin: Ultimate Fat Burner', 2001, 'Unknown'); +insert into movies values (208, 'The Three Stooges: Sing a Song of Six Pants', 1947, 'Unknown'); +insert into movies values (209, 'Star Trek: Deep Space Nine: Season 5', 1996, 'Unknown'); +insert into movies values (210, 'Onmyoji', 2001, 'Takita, Yojiro'); +insert into movies values (210, 'Onmyoji 2', 2003, 'Takita, Yojiro'); +insert into movies values (211, 'The Agronomist', 2004, 'Unknown'); +insert into movies values (212, 'Querelle', 1982, 'Fassbinder, Rainer Werner'); +insert into movies values (213, 'Dinner Rush', 2000, 'Giraldi, Bob'); +insert into movies values (214, 'Read-Along: Beauty and the Beast', 2002, 'Unknown'); +insert into movies values (215, 'That \'70s Show: Season 1', 1998, 'Unknown'); +insert into movies values (216, 'Impostor, The', 1921, 'Bradbury, Robert N.'); +insert into movies values (216, 'Impostor, El', 1937, 'Kirkland, David'); +insert into movies values (216, 'Impostor, The', 1915, 'Capellani, Albert'); +insert into movies values (216, 'Impostor, The', 1918, 'Abbott, George'); +insert into movies values (216, 'Impostor, The', 1918, 'Henderson, Dell'); +insert into movies values (216, 'Impostor, The', 1926, 'Withey, Chester'); +insert into movies values (216, 'Impostor, The', 1944, 'Duvivier, Julien'); +insert into movies values (216, 'Impostor', 2002, 'Fleder, Gary'); +insert into movies values (216, 'Impostor, The', 1913, 'King, Burton L.'); +insert into movies values (216, 'Impostor, The', 1914, 'Carleton, Lloyd B.'); +insert into movies values (216, 'Impostor, El', 1931, 'Seiler, Lewis'); +insert into movies values (216, 'Impostor, El', 1997, 'Maci, Alejandro'); +insert into movies values (216, 'Impostor, El', 1960, 'Fernandez, Emilio'); +insert into movies values (216, 'Impostor, El', 1956, 'Fernandez, Emilio'); +insert into movies values (217, 'Cherry 2000', 1987, 'De Jarnatt, Steve'); +insert into movies values (218, 'Triumph: Live at the US Festival', 1983, 'Unknown'); +insert into movies values (219, 'Neon Bible, The', 1995, 'Davies, Terence'); +insert into movies values (220, 'Winston Churchill: The Wilderness Years', 1981, 'Fairfax, Ferdinand'); +insert into movies values (221, 'Voyage to the Planets and Beyond', 2005, 'Unknown'); +insert into movies values (222, 'Last Yellow, The', 1999, 'Farino, Julian'); +insert into movies values (222, 'Yellowstone', 1994, 'Merrill, Kieth'); +insert into movies values (222, 'Yellow Bird', 2001, 'Dunaway, Faye'); +insert into movies values (222, 'Yellow Bird', 2005, 'Wallace, Jessie'); +insert into movies values (222, 'Yellowbeard', 1983, 'Damski, Mel'); +insert into movies values (222, 'Yellowville', 2004, 'Hughes, Phillip'); +insert into movies values (222, 'Yellow Lily', 1928, 'Korda, Alexander'); +insert into movies values (222, 'Yellow', 2005, 'Keagy, Rini'); +insert into movies values (222, 'Yellow Line', 1960, 'Ishii, Teruo'); +insert into movies values (222, 'Yellow Rain', 1984, 'Andersen, Wies'); +insert into movies values (222, 'Yellow Dog', 1973, 'Donovan, Terence'); +insert into movies values (222, 'Yellow', 1996, 'Beaufoy, Simon'); +insert into movies values (222, 'Yellow', 1996, 'Eltringham, Billie'); +insert into movies values (222, 'Yellow Bird', 1912, 'Ranous, William V.'); +insert into movies values (222, 'Yellowstone', 1936, 'Lubin, Arthur'); +insert into movies values (222, 'Yellow', 1998, 'Lee, Chris Chan'); +insert into movies values (222, 'Yellow Card', 2000, 'Riber, John'); +insert into movies values (222, 'Yellowneck', 1955, 'Hugh, R. John'); +insert into movies values (222, 'Yellowknife', 2002, 'Jean, Rodrigue'); +insert into movies values (222, 'Yellow Rain', 1990, 'Lau, Chung Pak'); +insert into movies values (222, 'Yellow Face', 1921, 'Elvey, Maurice'); +insert into movies values (222, 'Yellow Dust', 1936, 'Fox, Wallace'); +insert into movies values (222, 'Yellow', 2006, 'De Villa, Alfredo'); +insert into movies values (222, 'Yellow Fin', 1951, 'McDonald, Frank'); +insert into movies values (222, 'Yellow Sky', 1948, 'Wellman, William A.'); +insert into movies values (222, 'Yellow Jack', 1938, 'Seitz, George B.'); +insert into movies values (222, 'Yellow', 2003, 'Rusev, Ivan'); +insert into movies values (223, 'Chappelle\'s Show: Season 1', 2003, 'Unknown'); +insert into movies values (224, 'Midsomer Murders: Blood Will Out', 1999, 'Unknown'); +insert into movies values (225, 'The Cookout', 2004, 'Unknown'); +insert into movies values (226, 'Henry: Portrait of a Serial Killer 2', 1996, 'Unknown'); +insert into movies values (227, 'The Carol Burnett Show: Show Stoppers', 2001, 'Unknown'); +insert into movies values (228, 'Butch and Sundance: The Early Days', 1979, 'Lester, Richard'); +insert into movies values (229, 'Peter Gabriel: Growing Up Live', 2003, 'Hamilton, Hamish'); +insert into movies values (230, 'Unsolved Mysteries: Psychics', 1987, 'Unknown'); +insert into movies values (231, 'Marooned in Iraq', 2002, 'Unknown'); +insert into movies values (232, 'Gross Anatomy', 1989, 'Eberhardt, Thom'); +insert into movies values (233, 'Chato\'s Land', 1972, 'Winner, Michael'); +insert into movies values (234, 'Animation Legend: Winsor McCay', 1921, 'Unknown'); +insert into movies values (235, 'Unhook the Stars', 1996, 'Cassavetes, Nick'); +insert into movies values (236, 'Cartoon Crazys Sci-Fi', 1998, 'Unknown'); +insert into movies values (237, 'Broken Blossoms', 1936, 'Brahm, John'); +insert into movies values (238, 'Led Zeppelin: The Song Remains the Same', 1976, 'Unknown'); +insert into movies values (239, 'Winnie the Pooh: Springtime with Roo', 2004, 'Blinkoff, Saul Andrew'); +insert into movies values (239, 'Winnie the Pooh: Springtime with Roo', 2004, 'Bour, Elliot M.'); +insert into movies values (240, 'Woman of the Year', 1942, 'Stevens, George'); +insert into movies values (241, 'North by Northwest', 1959, 'Hitchcock, Alfred'); +insert into movies values (242, 'Neon Genesis Evangelion: The End of Evangelion', 1995, 'Unknown'); +insert into movies values (243, 'Pressure Point', 1997, 'Giancola, David'); +insert into movies values (243, 'Pressure Point', 1962, 'Cornfield, Hubert'); +insert into movies values (243, 'Pressure Point', 2001, 'Weston, Eric'); +insert into movies values (243, 'Pressure Point', 2006, 'Nir, Onn'); +insert into movies values (244, 'Stellvia', 2004, 'Unknown'); +insert into movies values (245, 'Road Dogz', 2000, 'Ramos, Alfredo'); +insert into movies values (246, 'The Boston Strangler', 1968, 'Unknown'); +insert into movies values (247, 'Oleanna', 1994, 'Mamet, David'); +insert into movies values (248, 'Michael Moore\'s The Awful Truth: Season 2', 2001, 'Unknown'); +insert into movies values (249, 'The Hunters', 1958, 'Unknown'); +insert into movies values (250, 'Cast a Giant Shadow', 1966, 'Shavelson, Melville'); +insert into movies values (251, 'Midsomer Murders: Strangler\'s Wood', 2000, 'Unknown'); +insert into movies values (252, 'Stuart Little 2', 2002, 'Minkoff, Rob'); +insert into movies values (253, 'A Night at the Opera', 1935, 'Unknown'); +insert into movies values (254, 'Westender', 2003, 'Morse, Brock'); +insert into movies values (255, 'The Hunchback of Notre Dame II', 2001, 'Unknown'); +insert into movies values (256, 'Ghost Dog: The Way of the Samurai', 1999, 'Jarmusch, Jim'); +insert into movies values (257, 'Charlotte\'s Web', 2006, 'Winick, Gary'); +insert into movies values (257, 'Charlotte\'s Web', 1973, 'Nichols, Charles A.'); +insert into movies values (257, 'Charlotte\'s Web', 1973, 'Takamoto, Iwao'); +insert into movies values (258, 'Mannequin', 1937, 'Borzage, Frank'); +insert into movies values (258, 'Manners', 1998, 'Burks, Arline'); +insert into movies values (258, 'Mannequin', 1934, 'Cooper, George A.'); +insert into movies values (258, 'Mannequin', 1926, 'Cruze, James'); +insert into movies values (258, 'Mannu', 1978, 'George, K.G.'); +insert into movies values (258, 'Mannequin', 1987, 'Gottlieb, Michael'); +insert into movies values (258, 'Mann', 1999, 'Kumar, Indra'); +insert into movies values (258, 'Mannaja', 1977, 'Martino, Sergio'); +insert into movies values (258, 'Manna', 1915, 'Otto, Henry'); +insert into movies values (258, 'Mannikin', 1977, 'Thompson, Donald W.'); +insert into movies values (258, 'Mannan', 1990, 'Vasu, P.'); +insert into movies values (259, 'Animal, The', 1913, 'Dwan, Allan'); +insert into movies values (259, 'Animal, The', 1968, 'Frost, Lee'); +insert into movies values (259, 'Animal, The', 2001, 'Greenfield, Luke'); +insert into movies values (259, 'Animal', 2004, 'Natividad, Toto'); +insert into movies values (259, 'Animals', 1999, 'Cook, Bob'); +insert into movies values (259, 'Animaland', 1997, 'Felstead, Bert'); +insert into movies values (259, 'Animal Farm', 1954, 'Batchelor, Joy'); +insert into movies values (259, 'Animal Farm', 1954, 'Halas, John'); +insert into movies values (259, 'Animals', 2003, 'Alon, Arik'); +insert into movies values (259, 'Animalada', 2001, 'Bizzio, Sergio'); +insert into movies values (259, 'Animal', 1999, 'Diez Lasangre, Miguel'); +insert into movies values (259, 'Animal', 2005, 'Bosch, Roselyne'); +insert into movies values (259, 'Animal', 2005, 'Burke, David J.'); +insert into movies values (259, 'Animal Room', 1995, 'Singer, Craig'); +insert into movies values (259, 'Animal, L\'', 1977, 'Zidi, Claude'); +insert into movies values (259, 'Animal Love', 1969, 'Kenny'); +insert into movies values (259, 'Male Animal, The', 1942, 'Nugent, Elliott'); +insert into movies values (260, 'Marat / Sade', 1967, 'Unknown'); +insert into movies values (261, 'The Big Clock', 1948, 'Unknown'); +insert into movies values (262, 'Herbie Rides Again', 1974, 'Stevenson, Robert'); +insert into movies values (263, 'Dragon Ball: Tournament Saga', 2001, 'Unknown'); +insert into movies values (264, 'Angelina Ballerina: Lights, Camera, Action!', 2002, 'Unknown'); +insert into movies values (265, 'The Jeff Corwin Experience: Costa Rica and the Amazon', 2002, 'Unknown'); +insert into movies values (266, 'Saudade Do Futuro', 2000, 'Unknown'); +insert into movies values (267, 'Touched by an Angel: Season 1', 1994, 'Unknown'); +insert into movies values (268, 'The Final Countdown', 1980, 'Unknown'); +insert into movies values (269, 'Parenthood', 1989, 'Howard, Ron'); +insert into movies values (270, 'Sex and the City: Season 4', 2001, 'Unknown'); +insert into movies values (271, 'Saludos Amigos', 1942, 'Ferguson, Norman'); +insert into movies values (271, 'Saludos Amigos', 1942, 'Jackson, Wilfred'); +insert into movies values (271, 'Saludos Amigos', 1942, 'Kinney, Jack'); +insert into movies values (271, 'Saludos Amigos', 1942, 'Luske, Hamilton'); +insert into movies values (271, 'Saludos Amigos', 1942, 'Roberts, Bill'); +insert into movies values (272, 'Female Yakuza Tale', 1973, 'Unknown'); +insert into movies values (273, 'Taxi 555', 1958, 'Bhakri, Lekhraj'); +insert into movies values (273, 'Taxi', 2004, 'Chaudhary, Shehzad'); +insert into movies values (273, 'In Taxi 23', 1914, 'Christie, Al'); +insert into movies values (273, 'Taxi!', 1932, 'Del Ruth, Roy'); +insert into movies values (273, 'Taxia', 2002, 'Fernandez, Alberto'); +insert into movies values (273, 'Taxi', 2000, 'Flah, Alejo'); +insert into movies values (273, 'Taxi!', 1982, 'Greenwald, Barry'); +insert into movies values (273, 'TaxiBoy', 1999, 'Jabor, Roberto'); +insert into movies values (273, 'Taxi, The', 2002, 'Kelman, Pat'); +insert into movies values (273, 'Taxi', 1969, 'Kolstad, Morten'); +insert into movies values (273, 'Taxi 2', 2000, 'Krawczyk, Gerard'); +insert into movies values (273, 'Taxi 3', 2003, 'Krawczyk, Gerard'); +insert into movies values (273, 'Taxi 4', 2007, 'Krawczyk, Gerard'); +insert into movies values (273, 'Taxi 13', 1954, 'Larsson, Brje'); +insert into movies values (273, 'Taxi', 1963, 'Lluch, Miguel'); +insert into movies values (273, 'Taxi Doll', 1928, 'Lord, Del'); +insert into movies values (273, 'Taxi, Le', 2000, 'Mamruth, Gabriel'); +insert into movies values (273, 'Taxi 13', 1928, 'Neilan, Marshall'); +insert into movies values (273, 'Taxis', 2004, 'Osidacz, Diego'); +insert into movies values (273, 'Taxi Boy', 1986, 'Page, Alain'); +insert into movies values (273, 'Taxi', 1997, 'Pequeo, Pamela'); +insert into movies values (273, 'Taxi', 1998, 'Pirs, Gerard'); +insert into movies values (273, 'Taxi', 1953, 'Ratoff, Gregory'); +insert into movies values (273, 'Taxia', 2002, 'Robles, Daniel'); +insert into movies values (273, 'Taxia', 2002, 'Robles, David'); +insert into movies values (273, 'Taxi', 1996, 'Saura, Carlos'); +insert into movies values (273, 'Taxi', 2004, 'Story, Tim'); +insert into movies values (273, 'Taxi Girl', 1977, 'Tarantini, Michele Massimo'); +insert into movies values (273, 'Taxi!', 2001, 'Thompson, Neil'); +insert into movies values (273, 'Taxi', 1969, 'Tusberg, Harald'); +insert into movies values (273, 'Taxi Car', 1972, 'Venu'); +insert into movies values (273, 'Taxi Chor', 1980, 'Vyas, Sushil'); +insert into movies values (273, 'Taxi', 2000, 'Wernicke, Rudolf K.'); +insert into movies values (273, 'Taxi', 1919, 'Windom, Lawrence C.'); +insert into movies values (274, 'Crazy as Hell', 2002, 'La Salle, Eriq'); +insert into movies values (275, 'Evelyn', 2002, 'Beresford, Bruce'); +insert into movies values (276, 'Cold Harvest', 2000, 'Florentine, Isaac'); +insert into movies values (277, 'Enigma: MCMXC A.D', 2003, 'Unknown'); +insert into movies values (278, '100 Days Before the Command', 1990, 'Unknown'); +insert into movies values (279, 'Micki and Maude', 1984, 'Unknown'); +insert into movies values (280, 'Sarah Brightman: In Concert', 1998, 'Unknown'); +insert into movies values (281, 'The Legend', 1993, 'Unknown'); +insert into movies values (282, 'Blue Seed: Beyond', 2003, 'Unknown'); +insert into movies values (283, 'If These Walls Could Talk', 1996, 'Unknown'); +insert into movies values (284, 'Sasquatch Hunters', 1997, 'Messenger, Marc'); +insert into movies values (284, 'Sasquatch Hunters', 2005, 'Tepper, Fred'); +insert into movies values (285, 'The Devil\'s Own', 1997, 'Unknown'); +insert into movies values (286, 'Thunderbirds Are Go', 1966, 'Unknown'); +insert into movies values (287, 'Luther Vandross: Always and Forever: An Evening of Songs', 1994, 'Unknown'); +insert into movies values (288, 'Saturday Night Live: The Best of Chris Kattan', 2004, 'Unknown'); +insert into movies values (289, 'The Avengers', 1998, 'Unknown'); +insert into movies values (290, 'Harold and Kumar Go to White Castle', 2004, 'Unknown'); +insert into movies values (291, 'Chained Heat 3: Hell Mountain', 2000, 'Unknown'); +insert into movies values (292, 'Saturday Night Live: The Best of Gilda Radner', 2005, 'Unknown'); +insert into movies values (293, 'Lennon Legend: The Very Best of John Lennon', 2003, 'Hilton, Simon'); +insert into movies values (293, 'Lennon Legend: The Very Best of John Lennon', 2003, 'Lennon, John'); +insert into movies values (293, 'Lennon Legend: The Very Best of John Lennon', 2003, 'Ono, Yoko'); +insert into movies values (293, 'Lennon Legend: The Very Best of John Lennon', 2003, 'Pytka, Joe'); +insert into movies values (293, 'Lennon Legend: The Very Best of John Lennon', 2003, 'Westcott, Bruce'); +insert into movies values (294, 'Oasis', 1955, 'Allegret, Yves'); +insert into movies values (294, 'Oasis, The', 1984, 'Greene, Sparky'); +insert into movies values (294, 'Oasis', 1933, 'Hurley, Frank'); +insert into movies values (294, 'Oasis', 2002, 'Lee, Chang-dong'); +insert into movies values (294, 'Oasis', 2005, 'Mendel, Jacob'); +insert into movies values (294, 'Oasis', 1995, 'Schneider, James'); +insert into movies values (295, 'Ace Ventura: When Nature Calls', 1995, 'Oedekerk, Steve'); +insert into movies values (296, 'In His Life: The John Lennon Story', 2000, 'Unknown'); +insert into movies values (297, 'The Hebrew Hammer', 2003, 'Unknown'); +insert into movies values (298, 'Crunch: Pick Your Spot Pilates', 2002, 'Unknown'); +insert into movies values (299, 'Bridget Jones\'s Diary', 2001, 'Maguire, Sharon'); +insert into movies values (300, 'Option Zero', 1997, 'Unknown'); +insert into movies values (301, 'Hard Ground', 2003, 'Unknown'); +insert into movies values (302, 'The Isle', 2001, 'Unknown'); +insert into movies values (303, 'Les Liaisons Dangereuses', 1959, 'Unknown'); +insert into movies values (304, 'King of the Hill: Season 1', 1997, 'Unknown'); +insert into movies values (305, 'See Jack Run', 1991, 'Amis, Stephen'); +insert into movies values (305, 'Jackpot', 2005, 'Baadkar, Samit L.'); +insert into movies values (305, 'Jackie', 1985, 'Bapu'); +insert into movies values (305, 'Jack Bush', 1979, 'Battle, Murray'); +insert into movies values (305, 'Jackaroos', 1991, 'Bjorn, Kristen'); +insert into movies values (305, 'Jack', 2006, 'Borlenghi, Matt'); +insert into movies values (305, 'Jack', 1916, 'Borzage, Frank'); +insert into movies values (305, 'Jackson', 2006, 'Castelli, Dino'); +insert into movies values (305, 'Jill Jacks Off', 1993, 'Constantinou, S.D.'); +insert into movies values (305, 'Jackpot', 2005, 'Copping, Martin'); +insert into movies values (305, 'Jack', 1996, 'Coppola, Francis Ford'); +insert into movies values (305, 'Jacked Up', 2000, 'Creg, Harold'); +insert into movies values (305, 'Jack', 2007, 'Dobkin, David'); +insert into movies values (305, 'Jacky', 1990, 'Esterkin, Rahel'); +insert into movies values (305, 'Jacked', 2001, 'Folsome, Timothy Wayne'); +insert into movies values (305, 'Jacked', 2003, 'Fontaine, Dudley'); +insert into movies values (305, 'Jackie', 1921, 'Ford, John'); +insert into movies values (305, 'Jack Ahoy', 1934, 'Forde, Walter'); +insert into movies values (305, 'Jackpot', 1982, 'Goodell, John D.'); +insert into movies values (305, 'Jackals', 1986, 'Grillo, Gary'); +insert into movies values (305, 'Jill Jacks Off', 1993, 'H.D.'); +insert into movies values (305, 'Jack Tar', 1915, 'Haldane, Bert'); +insert into movies values (305, 'Jack', 1976, 'Halldoff, Jan'); +insert into movies values (305, 'Jacklight', 1995, 'Hentges, Steven'); +insert into movies values (305, 'Jacky', 2000, 'Hu, Fow Pyng'); +insert into movies values (305, 'Jack', 2005, 'Hubbard, Simon'); +insert into movies values (305, 'Jackpost', 2003, 'Jellab, Najat'); +insert into movies values (305, 'Jackpot', 1993, 'Jomon'); +insert into movies values (305, 'Jacknife', 1989, 'Jones, David Hugh'); +insert into movies values (305, 'Jackpot', 1996, 'Kachikis, Kris'); +insert into movies values (305, 'Jackpot 2', 1982, 'Kaurismki, Mika'); +insert into movies values (305, 'Jackpot', 2005, 'Kristensen, Kasper Vejl'); +insert into movies values (305, 'Jack-O', 1995, 'Latshaw, Steve'); +insert into movies values (305, 'Jacks', 2000, 'Lawler, Jesse'); +insert into movies values (305, 'Jackson', 2005, 'Lawton, J.F.'); +insert into movies values (305, 'Jack', 1913, 'Liabel, Andre'); +insert into movies values (305, 'Jack', 2002, 'Limpus, Matty'); +insert into movies values (305, 'Jacky', 2000, 'Ljatifi, Brat'); +insert into movies values (305, 'Jacktown', 1962, 'Martin, William'); +insert into movies values (305, 'Jacklight', 1999, 'Mascara, Tina'); +insert into movies values (305, 'Jacked Up', 2000, 'Mills, Brian'); +insert into movies values (305, 'Jack', 1997, 'Mullan, Mary'); +insert into movies values (305, 'Jack', 2003, 'Nla, Thomas'); +insert into movies values (305, 'Jackpot', 1992, 'Orfini, Mario'); +insert into movies values (305, 'Jackpot', 2001, 'Polish, Michael'); +insert into movies values (305, 'Jackville', 1965, 'Rouch, Jean'); +insert into movies values (305, 'Jack Pot', 1940, 'Rowland, Roy'); +insert into movies values (305, 'Jack', 1925, 'Saidreau, Robert'); +insert into movies values (305, 'Jackpot', 1980, 'Sami, Renate'); +insert into movies values (305, 'Jacker', 1993, 'Stansky, Benjamin'); +insert into movies values (305, 'Jack', 1979, 'Stephens, John'); +insert into movies values (305, 'Jackpot', 1960, 'Tully, Montgomery'); +insert into movies values (305, 'Jackpot', 1990, 'Unt, Riho'); +insert into movies values (305, 'Jack', 1972, 'Uribe, Imanol'); +insert into movies values (305, 'Jackpot 3', 2002, 'Viljanen, Markus'); +insert into movies values (305, 'Jack', 1997, 'Voevodsky, Greg'); +insert into movies values (305, 'Jackpot', 1990, 'Volmer, Hardi'); +insert into movies values (305, 'Jackanory', 2001, 'Walsh, Darren'); +insert into movies values (305, 'Jack\'d', 2001, 'Warren, Matthew'); +insert into movies values (305, 'Jackpot', 1980, 'Weiss, Matthias'); +insert into movies values (306, 'Sesame Street: Sing Yourself Silly!', 2005, 'Unknown'); +insert into movies values (307, 'Godsmack: Smack This!', 2002, 'Unknown'); +insert into movies values (308, 'The Legend of the 7 Golden Vampires/7 Brothers of Dracula', 1974, 'Unknown'); +insert into movies values (309, 'The Day of the Locust', 1975, 'Unknown'); +insert into movies values (310, 'Leila', 2006, 'Culpepper, Hanelle M.'); +insert into movies values (310, 'Leila', 2003, 'Dodds, Ian'); +insert into movies values (310, 'Leila', 1996, 'Mehrjui, Dariush'); +insert into movies values (311, 'Ed Wood', 1994, 'Burton, Tim'); +insert into movies values (312, 'High Fidelity', 2000, 'Frears, Stephen'); +insert into movies values (312, 'High Fidelity', 1988, 'Miller, Allan'); +insert into movies values (312, 'High Fidelity', 1976, 'Starkiewicz, Antoinette'); +insert into movies values (312, 'High Fidelity', 1982, 'Roberts, Randy'); +insert into movies values (313, 'Pay It Forward', 2000, 'Leder, Mimi'); +insert into movies values (314, 'Saturday Night Live: The Best of Jon Lovitz', 1985, 'Unknown'); +insert into movies values (315, 'Combat! Season 3: Operation 2', 1964, 'Unknown'); +insert into movies values (316, 'Futurama: Monster Robot Maniac Fun Collection', 1999, 'Unknown'); +insert into movies values (317, 'Mandela and de Klerk', 1997, 'Unknown'); +insert into movies values (318, 'Beyond Suspicion', 1997, 'Hendler, Stewart'); +insert into movies values (319, 'Straight to Hell', 1987, 'Cox, Alex'); +insert into movies values (320, 'Eat Your Heart Out', 1997, 'Adlon, Felix O.'); +insert into movies values (320, 'Eat Your Heart Out', 2006, 'Tucker, James'); +insert into movies values (321, 'Ju-Rei: The Uncanny', 2004, 'Unknown'); +insert into movies values (322, 'Flesh Gordon', 1974, 'Benveniste, Michael'); +insert into movies values (322, 'Flesh Gordon', 1974, 'Ziehm, Howard'); +insert into movies values (323, 'Modern Vampires', 1999, 'Unknown'); +insert into movies values (324, 'Mother\'s Boys', 1994, 'Simoneau, Yves'); +insert into movies values (325, 'Ghosts of Rwanda: Frontline', 2004, 'Unknown'); +insert into movies values (326, 'The Plainsman', 1937, 'Unknown'); +insert into movies values (327, 'Storefront Hitchcock', 1998, 'Demme, Jonathan'); +insert into movies values (328, 'Deftones: Live in Hawaii', 2002, 'Unknown'); +insert into movies values (329, 'Dogmatic', 1999, 'Fearnley, Neill'); +insert into movies values (329, 'Dogma Man', 1996, 'Kornweibel, Mark'); +insert into movies values (329, 'Homo Dogmatikus', 1980, 'Mihajlov, Delco'); +insert into movies values (329, 'Dogma', 1999, 'Smith, Kevin'); +insert into movies values (329, 'Dogma X', 2001, 'Spinelli, Charly'); +insert into movies values (330, 'Wild Things 4', 1994, 'Lincoln, Fred J.'); +insert into movies values (330, 'Wild Things 3', 1992, 'Bone, John T.'); +insert into movies values (330, 'Wild Things 2', 2004, 'Perez, Jack'); +insert into movies values (330, 'Wild Things 2', 1986, 'de Renzy, Alex'); +insert into movies values (330, 'Wild Things', 1998, 'McNaughton, John'); +insert into movies values (330, 'Wild Things', 1985, 'de Renzy, Alex'); +insert into movies values (331, 'Chasing Amy', 1997, 'Smith, Kevin'); +insert into movies values (332, 'They Crawl', 2001, 'Allardice, John'); +insert into movies values (333, 'Mail Call: The Best of Season 2', 2003, 'Unknown'); +insert into movies values (334, 'The Pacifier', 2005, 'Unknown'); +insert into movies values (335, 'Fear No Evil', 1981, 'LaLoggia, Frank'); +insert into movies values (336, 'The Driver', 1978, 'Unknown'); +insert into movies values (337, 'Star 80', 1983, 'Fosse, Bob'); +insert into movies values (338, 'The Three Stooges: Three Smart Saps', 1942, 'Unknown'); +insert into movies values (339, 'Rolling Stones: Rock and Roll Circus', 1968, 'Unknown'); +insert into movies values (340, 'Midnight: 2000 Seen By...', 1998, 'Unknown'); +insert into movies values (341, 'Tremors 4: The Legend Begins', 2004, 'Wilson, S.S.'); +insert into movies values (342, 'Noir', 2005, 'Aguilar, Juan Jose Espinoza'); +insert into movies values (342, 'Noir', 2005, 'Mehmedinovic, Harun'); +insert into movies values (342, 'Noir', 2005, 'Suhm, Tobias'); +insert into movies values (343, 'French and Saunders: Live', 2000, 'Unknown'); +insert into movies values (344, 'The Taming of the Shrew', 1967, 'Unknown'); +insert into movies values (345, 'Star Trek: Voyager: Season 5', 1998, 'Unknown'); +insert into movies values (346, 'Up and Down', 2005, 'Unknown'); +insert into movies values (347, 'Iceman Cometh, The', 1973, 'Frankenheimer, John'); +insert into movies values (348, 'The Last Temptation of Christ', 1988, 'Unknown'); +insert into movies values (349, 'The Swarm', 1978, 'Unknown'); +insert into movies values (350, 'Dr. Quinn, Medicine Woman: Season 3', 1993, 'Unknown'); +insert into movies values (351, 'Guns of the Magnificent Seven', 1969, 'Wendkos, Paul'); +insert into movies values (352, 'Pick a Card', 1997, 'Unknown'); +insert into movies values (353, 'Life or Something Like It', 2002, 'Herek, Stephen'); +insert into movies values (354, 'Sadomania', 1981, 'Unknown'); +insert into movies values (355, 'Sinful Nuns of St. Valentine', 1973, 'Unknown'); +insert into movies values (356, 'Look at Me', 2005, 'Unknown'); +insert into movies values (357, 'House of Sand and Fog', 2003, 'Perelman, Vadim'); +insert into movies values (358, 'The Onion Field', 1979, 'Unknown'); +insert into movies values (359, 'Absolutely Fabulous: Series 5', 2003, 'Unknown'); +insert into movies values (360, 'No Lies...', 1974, 'Block, Mitchell'); +insert into movies values (360, 'Lies Inc.', 2004, 'Ducasse, Cesar'); +insert into movies values (360, 'Lady Lies, The', 1929, 'Henley, Hobart'); +insert into movies values (360, 'Lies', 1976, 'Reid, Jonathon'); +insert into movies values (360, 'Lies', 1976, 'Walsh, Peter'); +insert into movies values (360, 'Lies', 1983, 'Wheat, Jim'); +insert into movies values (360, 'Lies', 1983, 'Wheat, Ken'); +insert into movies values (361, 'The Phantom of the Opera: Special Edition', 2004, 'Unknown'); +insert into movies values (362, 'The Flintstones in Viva Rock Vegas', 2000, 'Unknown'); +insert into movies values (363, 'Stark Raving Mad', 1983, 'Hood, George F.'); +insert into movies values (363, 'Stark Raving Mad', 2002, 'Daywalt, Drew'); +insert into movies values (363, 'Stark Raving Mad', 2002, 'Schneider, David'); +insert into movies values (364, 'Billy Blanks: Tae Bo: Contact 2', 2004, 'Unknown'); +insert into movies values (365, 'R.E.M.: Tourfilm', 1989, 'Unknown'); +insert into movies values (366, 'Still, We Believe: The Boston Red Sox Movie', 2004, 'Unknown'); +insert into movies values (367, 'Spun', 2002, 'kerlund, Jonas'); +insert into movies values (368, 'The Best of Designing Women', 1986, 'Unknown'); +insert into movies values (369, 'Playing Mona Lisa', 2000, 'Huffman, Matthew'); +insert into movies values (370, 'Chaplin', 1992, 'Attenborough, Richard'); +insert into movies values (370, 'Chaplin', 2003, 'Pacheco, Fernando'); +insert into movies values (371, 'The Trouble with Angels', 1966, 'Unknown'); +insert into movies values (372, 'Jeans', 2001, 'Krebitz, Nicolette'); +insert into movies values (372, 'Jeans', 1998, 'Shankar, S.'); +insert into movies values (373, 'Third World Cop', 1999, 'Browne, Chris'); +insert into movies values (374, 'The Little Girl Who Lives Down the Lane', 1976, 'Unknown'); +insert into movies values (375, 'Nine Dead Gay Guys', 2003, 'Unknown'); +insert into movies values (376, 'Genesis: The Way We Walk: Live in Concert', 2001, 'Unknown'); +insert into movies values (377, 'Dick Francis: The Racing Game', 1979, 'Unknown'); +insert into movies values (378, 'Party Monster', 2003, 'Bailey, Fenton'); +insert into movies values (378, 'Party Monster', 2003, 'Barbato, Randy'); +insert into movies values (378, 'Party Monster', 1998, 'Bailey, Fenton'); +insert into movies values (378, 'Party Monster', 1998, 'Barbato, Randy'); +insert into movies values (379, 'Crash Dive', 1997, 'Stevens, Andrew'); +insert into movies values (379, 'Crash Dive', 1943, 'Mayo, Archie'); +insert into movies values (380, 'Live Wire, The', 1925, 'Hines, Charles'); +insert into movies values (380, 'Live Wire, The', 1917, 'Dewhurst, George'); +insert into movies values (380, 'Live Wire, The', 1935, 'Webb, Harry S.'); +insert into movies values (380, 'Live Wire', 1992, 'Duguay, Christian'); +insert into movies values (380, 'Live Wires', 1923, 'Howe, J.A.'); +insert into movies values (380, 'Live Wires', 1946, 'Karlson, Phil'); +insert into movies values (380, 'Live Wires', 1921, 'Sedgwick, Edward'); +insert into movies values (380, 'Live Wire, The', 1937, 'Brenon, Herbert'); +insert into movies values (380, 'Live Wires', 1922, 'Goulding, Alfred J.'); +insert into movies values (381, 'Out for Justice', 1991, 'Flynn, John'); +insert into movies values (382, 'Buried in the Sand: The Deception of America', 2004, 'Wald, David'); +insert into movies values (382, 'Buried in the Sand: The Deception of America', 2004, 'Wald, David'); +insert into movies values (383, 'Hit Team', 2001, 'Unknown'); +insert into movies values (384, 'Crossroads', 1942, 'Conway, Jack'); +insert into movies values (384, 'Crossroads', 1999, 'Durling, Michael'); +insert into movies values (384, 'Crossroads', 1976, 'Conner, Bruce'); +insert into movies values (384, 'Crossroads', 2002, 'Portanova, Tom'); +insert into movies values (384, 'Crossroads', 1957, 'Haldane, Don'); +insert into movies values (384, 'Crossroads', 2002, 'Davis, Tamra'); +insert into movies values (384, 'Crossroads', 1986, 'Hill, Walter'); +insert into movies values (384, 'Crossroads', 1999, 'Armstrong, Brad'); +insert into movies values (384, 'Crossroads', 1998, 'Wick, Josh'); +insert into movies values (384, 'Crossroads', 1955, 'Fitchen, John'); +insert into movies values (384, 'Crossroads', 1931, 'Atamanov, Lev'); +insert into movies values (385, 'The Santa Clause 2', 2002, 'Unknown'); +insert into movies values (386, 'Princess Caraboo', 1994, 'Austin, Michael'); +insert into movies values (387, 'Bizet\'s Carmen', 1984, 'Unknown'); +insert into movies values (388, 'Body Chemistry', 1990, 'Peterson, Kristine'); +insert into movies values (389, 'Stealth', 2005, 'Cohen, Rob'); +insert into movies values (389, 'Steal, The', 1995, 'Hay, John'); +insert into movies values (389, 'Steal Wool', 1957, 'Jones, Chuck'); +insert into movies values (389, 'Stealaway', 2005, 'Kelly, Mike'); +insert into movies values (389, 'Steal Me', 2005, 'Painter, Melissa'); +insert into movies values (390, 'The Fan', 1981, 'Unknown'); +insert into movies values (391, 'The Monkees: Season 2', 1967, 'Unknown'); +insert into movies values (392, 'Danielle Steel\'s Heartbeat', 1993, 'Unknown'); +insert into movies values (393, 'The Replacement Killers', 1998, 'Unknown'); +insert into movies values (394, '20,000 Leagues Under the Sea', 1916, 'Paton, Stuart'); +insert into movies values (394, '20,000 Leagues Under the Sea', 1973, 'Bass, Jules'); +insert into movies values (394, '20,000 Leagues Under the Sea', 1973, 'Rankin Jr., Arthur'); +insert into movies values (395, 'Captain Blood', 1935, 'Curtiz, Michael'); +insert into movies values (395, 'Captain Blood', 1924, 'Smith, David'); +insert into movies values (396, 'Arjuna: Complete Collection', 2001, 'Unknown'); +insert into movies values (397, 'A Night in Casablanca', 1946, 'Unknown'); +insert into movies values (398, 'In the Realm of the Senses', 1976, 'Unknown'); +insert into movies values (399, 'Fangs', 2001, 'Sandefur, Kelly'); +insert into movies values (400, 'Rio Lobo', 1970, 'Hawks, Howard'); +insert into movies values (401, 'Halloween 5: The Revenge of Michael Myers', 1989, 'Unknown'); +insert into movies values (402, 'Pan Tadeusz', 1999, 'Wajda, Andrzej'); +insert into movies values (402, 'Pan Tadeusz', 1928, 'Ordynski, Ryszard'); +insert into movies values (403, 'Substitute 4: Failure is Not an Option', 2000, 'Unknown'); +insert into movies values (404, 'The Shaft', 2001, 'Unknown'); +insert into movies values (405, 'Wings of Desire', 1987, 'Unknown'); +insert into movies values (406, 'Hostage, The', 1967, 'Doughten Jr., Russell S.'); +insert into movies values (406, 'Hostage', 1983, 'Shields, Frank'); +insert into movies values (406, 'Hostages', 2002, 'O\'Kork, Oak'); +insert into movies values (406, 'Hostages', 1943, 'Tuttle, Frank'); +insert into movies values (406, 'Hostage', 1993, 'Young, Robert'); +insert into movies values (406, 'Hostage, The', 1998, 'Todd, Bryan'); +insert into movies values (406, 'Hostage', 1999, 'Sundwall, Fredrik'); +insert into movies values (406, 'Hostage', 2002, 'Woo, John'); +insert into movies values (406, 'Hostage, The', 1956, 'Huth, Harold'); +insert into movies values (406, 'Hostages', 1997, 'Ogidan, Tade'); +insert into movies values (406, 'Hostage', 2005, 'Siri, Florent Emilio'); +insert into movies values (406, 'Hostage', 2001, 'Salvador, Augusto'); +insert into movies values (406, 'Hostage', 1987, 'Mhr, Hanro'); +insert into movies values (406, 'Hostage', 1987, 'Rubens, Percival'); +insert into movies values (406, 'Hostage, The', 1917, 'Thornby, Robert'); +insert into movies values (406, 'Hostage', 1999, 'Craig, Phil'); +insert into movies values (406, 'Hostage', 1999, 'Gold, Mick'); +insert into movies values (406, 'Hostage', 1999, 'Pritchard, Tim'); +insert into movies values (407, 'The Abductors', 1972, 'Unknown'); +insert into movies values (408, 'Nightbreed', 1990, 'Barker, Clive'); +insert into movies values (408, 'Nightbreed', 1995, 'Armstrong, Brad'); +insert into movies values (408, 'Nightbreed', 1995, 'Steelberg, Greg'); +insert into movies values (409, 'Godzilla vs. The Sea Monster', 1966, 'Unknown'); +insert into movies values (410, 'Frank Lloyd Wright', 1998, 'Burns, Ken'); +insert into movies values (410, 'Frank Lloyd Wright', 1998, 'Novick, Lynn'); +insert into movies values (411, 'Vendetta, La', 1961, 'Cherasse, Jean'); +insert into movies values (411, 'Vendetta Song', 2005, 'Kaftan, Eylem'); +insert into movies values (411, 'Vendetta', 1996, 'Saunders, George'); +insert into movies values (411, 'Vendetta', 1913, 'Hecker, Waldemar'); +insert into movies values (411, 'Vendetta', 1966, 'Nehrebecki, Wladyslaw'); +insert into movies values (411, 'Vendetta', 1999, 'Hutcheon, Lee'); +insert into movies values (411, 'Vendetta', 1905, 'Zecca, Ferdinand'); +insert into movies values (411, 'Vendetta', 1914, 'Hervil, Rene'); +insert into movies values (411, 'Vendetta', 1914, 'Mercanton, Louis'); +insert into movies values (411, 'Vendetta, La', 1988, 'Lucchetti, Leandro'); +insert into movies values (411, 'Vendetta', 1942, 'Newman, Joseph M.'); +insert into movies values (411, 'Vendetta', 1919, 'Jacoby, Georg'); +insert into movies values (411, 'Vendetta', 2003, 'Aujard, Richard'); +insert into movies values (411, 'Vendetta', 1950, 'Ferrer, Mel'); +insert into movies values (411, 'Vendetta', 1950, 'Heisler, Stuart'); +insert into movies values (411, 'Vendetta', 1950, 'Ophls, Max'); +insert into movies values (411, 'Vendetta', 1950, 'Sturges, Preston'); +insert into movies values (411, 'Vendetta', 1950, 'Weatherwax, Paul'); +insert into movies values (411, 'Vendetta', 1986, 'Logan, Bruce'); +insert into movies values (411, 'Vendetta', 1995, 'Hfstrm, Mikael'); +insert into movies values (412, 'Jay Jay the Jet Plane: Adventures in Learning', 1999, 'Unknown'); +insert into movies values (413, 'Igby Goes Down', 2002, 'Steers, Burr'); +insert into movies values (414, 'Good Girl, The', 2002, 'Arteta, Miguel'); +insert into movies values (414, 'Girl', 2001, 'Ashworth, Piers'); +insert into movies values (414, 'Shop Girl, The', 1916, 'Baker, George D.'); +insert into movies values (414, 'Snow Girl, The', 1915, 'Beresford, Frank S.'); +insert into movies values (414, 'Wild Girl, The', 1925, 'Bletcher, Billy'); +insert into movies values (414, 'Girl Jam', 1998, 'Boyle, Tom'); +insert into movies values (414, 'Show Girl, The', 1911, 'Brooke, Van Dyke'); +insert into movies values (414, 'Mill Girl, The', 1913, 'Buckland, Warwick'); +insert into movies values (414, 'X Girls', 2001, 'Canterbury, Stuart'); +insert into movies values (414, 'Orgy Girls \'69', 1968, 'Canton, Robert'); +insert into movies values (414, 'Girl', 1997, 'Collins, Christa'); +insert into movies values (414, 'Go Girl', 1970, 'Collins, Steven'); +insert into movies values (414, 'Girltalk', 1987, 'Davis, Kate'); +insert into movies values (414, 'Iron Girl, The', 1994, 'De Angelis, Fabrizio'); +insert into movies values (414, 'Girl Gang', 1954, 'Dertano, Robert C.'); +insert into movies values (414, 'Girl Nyun', 1971, 'Ding, Nhat Min'); +insert into movies values (414, 'Girl Rush', 1944, 'Douglas, Gordon'); +insert into movies values (414, 'Girl', 1975, 'Dwoskin, Steven'); +insert into movies values (414, 'Surf Girl, The', 1916, 'Edwards, Harry'); +insert into movies values (414, 'Girls', 1919, 'Edwards, Walter'); +insert into movies values (414, 'Wild Girl, The', 1917, 'Estabrook, Howard'); +insert into movies values (414, '5 Girls', 2001, 'Finitzo, Maria'); +insert into movies values (414, 'Girls', 1927, 'Forde, Eugene'); +insert into movies values (414, 'Cave Girl, The', 1921, 'Franz, Joseph'); +insert into movies values (414, 'Bad Girls II', 1983, 'Frazer, David J.'); +insert into movies values (414, 'Bad Girls IV', 1982, 'Frazer, David J.'); +insert into movies values (414, 'Girl Play', 2004, 'Friedlander, Lee'); +insert into movies values (414, 'Girlhood', 2003, 'Garbus, Liz'); +insert into movies values (414, 'Girl X', 1998, 'Goldberg, David'); +insert into movies values (414, 'Run, Girl, Run', 1928, 'Goulding, Alfred J.'); +insert into movies values (414, 'Girl Talk', 1993, 'Harris, Frank'); +insert into movies values (414, 'Only Girl, The', 1933, 'Hollander, Frederick'); +insert into movies values (414, 'Girl Talk', 2001, 'Holman, Stacey'); +insert into movies values (414, 'Show Girl, The', 1927, 'Hunt, Charles J.'); +insert into movies values (414, '3 Girls', 2006, 'Ibragimbekov, Murad'); +insert into movies values (414, 'Swan Girl, The', 1913, 'Ince, Ralph'); +insert into movies values (414, 'Girls', 1980, 'Jaeckin, Just'); +insert into movies values (414, 'Gift Girl, The', 1917, 'Julian, Rupert'); +insert into movies values (414, 'Soap Girl, The', 1918, 'Justice, Martin'); +insert into movies values (414, 'Girl', 1998, 'Kahn, Jonathan'); +insert into movies values (414, 'Girlvana', 2005, 'Knight, Wendy'); +insert into movies values (414, 'Girlfight', 2000, 'Kusama, Karyn'); +insert into movies values (414, 'Call Girls \'94', 1994, 'Lai, Yat Ching'); +insert into movies values (414, 'Home Girl, The', 1928, 'Lawrence, Edmund'); +insert into movies values (414, 'Girl 6', 1996, 'Lee, Spike'); +insert into movies values (414, 'Love Girl, The', 1916, 'Leonard, Robert Z.'); +insert into movies values (414, 'Plow Girl, The', 1916, 'Leonard, Robert Z.'); +insert into movies values (414, 'Girl, The', 1986, 'Mattsson, Arne'); +insert into movies values (414, 'Kill Girl Kill', 2005, 'McKai, Eon'); +insert into movies values (414, 'Girl', 1997, 'Michener, Amanda'); +insert into movies values (414, 'Jazz Girl, The', 1926, 'Mitchell, Howard M.'); +insert into movies values (414, 'Dead Girl, The', 2006, 'Moncrieff, Karen'); +insert into movies values (414, 'Goo Girls 10', 2002, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 11', 2002, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 12', 2003, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 13', 2003, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 14', 2003, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 15', 2004, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 16', 2004, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 17', 2005, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 18', 2005, 'Moore, Rodney'); +insert into movies values (414, 'Goo Girls 19', 2005, 'Moore, Rodney'); +insert into movies values (414, 'Girl Toys', 1986, 'Morehead, Ned'); +insert into movies values (414, 'Girl Shy', 1924, 'Newmeyer, Fred C.'); +insert into movies values (414, 'Girl Nyun', 1971, 'Nguyen, Duk Hinh'); +insert into movies values (414, 'Wine Girl, The', 1918, 'Paton, Stuart'); +insert into movies values (414, 'Girl King', 2002, 'Pietrobruno, Ileana'); +insert into movies values (414, 'Best Girl, The', 2000, 'Reid, Adam'); +insert into movies values (414, 'Girlina', 1995, 'Rodan, Marilyn'); +insert into movies values (414, 'Play Girl, The', 1928, 'Rosson, Arthur'); +insert into movies values (414, 'Go Girl', 1970, 'Rowles, Kenneth F.'); +insert into movies values (414, 'Girl Play', 2005, 'Slater, Kat'); +insert into movies values (414, 'Girl Talk', 2001, 'Starr, Jeffrey'); +insert into movies values (414, 'Like Girl, The', 2002, 'Suthers, Jim'); +insert into movies values (414, 'Bad Girls II', 1983, 'Svetlana'); +insert into movies values (414, 'Bad Girls IV', 1982, 'Svetlana'); +insert into movies values (414, 'News Girl, The', 2004, 'Tanner, Jerome'); +insert into movies values (414, 'Girl Shy', 1924, 'Taylor, Sam'); +insert into movies values (414, 'Feud Girl, The', 1916, 'Thomson, Frederick A.'); +insert into movies values (414, 'Girl Time', 2003, 'Wylder, Luc'); +insert into movies values (414, 'Girl, The', 2000, 'Zeig, Sande'); +insert into movies values (414, 'My Girl', 1991, 'Zieff, Howard'); +insert into movies values (415, 'Reign in Darkness', 2002, 'Allen, David W.'); +insert into movies values (415, 'Reign in Darkness', 2002, 'Dolen, Kel'); +insert into movies values (416, 'Elephantrio', 1985, 'Driessen, Paul'); +insert into movies values (416, 'Elephantrio', 1985, 'Ross, Graeme'); +insert into movies values (416, 'Elephantrio', 1985, 'Weldon, John'); +insert into movies values (416, 'Elephantastic', 1964, 'Barbera, Joseph'); +insert into movies values (416, 'Elephantastic', 1964, 'Hanna, William'); +insert into movies values (416, 'Her Elephant Man', 1920, 'Dunlap, Scott R.'); +insert into movies values (416, 'Elephant Boy', 1937, 'Flaherty, Robert J.'); +insert into movies values (416, 'Elephant Boy', 1937, 'Korda, Zoltan'); +insert into movies values (416, 'Elephant Shoe', 2006, 'Barnett, Ryan M.'); +insert into movies values (416, 'Elephant Walk', 1954, 'Dieterle, William'); +insert into movies values (416, 'Elephant Song', 1994, 'Rij, G'); +insert into movies values (416, 'Elephant Boy', 2005, 'Mohandas, Rene'); +insert into movies values (416, 'Elephant Shoe', 2004, 'Behnisch, Christopher'); +insert into movies values (416, 'Elephant', 2003, 'Van Sant, Gus'); +insert into movies values (416, 'Pink Elephant, The', 1988, 'Madzounian, Ara'); +insert into movies values (417, 'Transformers: Season 3: Part 1', 1986, 'Unknown'); +insert into movies values (418, 'The Deal', 2004, 'Unknown'); +insert into movies values (419, 'George Lopez: Why You Crying', 2005, 'Unknown'); +insert into movies values (420, 'Saturday Night Live: The Best of Dana Carvey', 1999, 'Unknown'); +insert into movies values (421, 'Agatha Christie\'s Poirot: Sad Cypress', 2003, 'Unknown'); +insert into movies values (422, 'The Unsinkable Molly Brown', 1964, 'Unknown'); +insert into movies values (423, 'My Favorite Martian #1', 1963, 'Unknown'); +insert into movies values (424, 'Happiness', 2006, 'Barthes, Sophie'); +insert into movies values (424, 'Happiness', 1998, 'Solondz, Todd'); +insert into movies values (424, 'Happiness', 2005, 'Horgan, Conor'); +insert into movies values (424, 'Happiness', 1917, 'Barker, Reginald'); +insert into movies values (424, 'Happiness', 1924, 'Vidor, King'); +insert into movies values (425, 'The 10th Kingdom', 2000, 'Unknown'); +insert into movies values (426, 'Recess: School\'s Out', 2001, 'Sheetz, Chuck'); +insert into movies values (427, 'Graveyard Shift', 1987, 'Ciccoritti, Jerry'); +insert into movies values (427, 'Graveyard Shift', 1990, 'Singleton, Ralph S.'); +insert into movies values (428, 'Barney: Barney\'s Colorful World: Live', 2004, 'Unknown'); +insert into movies values (429, 'Zeus and Roxanne', 1997, 'Miller, George'); +insert into movies values (430, 'Chobits', 2002, 'Unknown'); +insert into movies values (431, 'Millennium Actress', 2002, 'Unknown'); +insert into movies values (432, 'Les Miserables in Concert', 1996, 'Unknown'); +insert into movies values (433, 'Untamed Heart', 1993, 'Bill, Tony'); +insert into movies values (434, 'Extreme Engineering: Tokyo\'s Sky City', 2004, 'Unknown'); +insert into movies values (435, 'Love Can Seriously Damage Your Health', 1996, 'Unknown'); +insert into movies values (436, 'Girls Just Want to Have Fun', 1985, 'Metter, Alan'); +insert into movies values (437, 'Beyblade: Fierce Battle', 2005, 'Unknown'); +insert into movies values (438, 'Bean: The Movie', 1997, 'Unknown'); +insert into movies values (439, 'Town Without Pity', 1961, 'Reinhardt, Gottfried'); +insert into movies values (440, 'Just 4 Kicks', 2003, 'Unknown'); +insert into movies values (441, 'Dark Shadows: Vol. 9', 1968, 'Unknown'); +insert into movies values (442, 'Mississippi Burning', 1988, 'Parker, Alan'); +insert into movies values (443, 'Rabbit-Proof Fence', 2002, 'Noyce, Phillip'); +insert into movies values (444, 'The Inner Tour', 2001, 'Unknown'); +insert into movies values (445, 'Michael Collins', 1996, 'Jordan, Neil'); +insert into movies values (446, 'The Underneath', 1995, 'Unknown'); +insert into movies values (447, 'The Making of Fanny and Alexander', 1986, 'Unknown'); +insert into movies values (448, 'Oswald: Welcome to the Big City!', 2001, 'Unknown'); +insert into movies values (449, 'Jimmy Buffett: MiniMatinee #1', 2003, 'Unknown'); +insert into movies values (450, 'Isaac Stern: Life\'s Virtuoso', 2000, 'Unknown'); +insert into movies values (451, 'Batman the Animated Series: Vol. 3', 1993, 'Unknown'); +insert into movies values (452, 'Scorched', 2006, 'Kalil, Matthew'); +insert into movies values (452, 'Scorched', 2003, 'Grazer, Gavin'); +insert into movies values (452, 'Scorched Heat', 1987, 'Borg, Peter'); +insert into movies values (452, 'Scorched', 2003, 'Howard, Kelsey T.'); +insert into movies values (453, 'Simple Men', 1992, 'Hartley, Hal'); +insert into movies values (454, 'Xena: Warrior Princess: Season 3', 1995, 'Unknown'); +insert into movies values (455, 'Cardcaptor Sakura: The Movie', 1999, 'Unknown'); +insert into movies values (456, 'Emma (Miniseries)', 1996, 'Unknown'); +insert into movies values (457, 'Kill Bill: Vol. 2', 2004, 'Tarantino, Quentin'); +insert into movies values (458, 'Blast \'Em', 1992, 'Blasioli, Joseph'); +insert into movies values (458, 'Blast \'Em', 1992, 'Coccimiglio, Egidio'); +insert into movies values (458, 'Blast!', 2004, 'Hickox, Anthony'); +insert into movies values (458, 'Blast Off!', 1997, 'Markey, Dave'); +insert into movies values (458, 'Blastrovan', 2003, 'Moore, Rodney'); +insert into movies values (458, 'Blast', 1997, 'Pyun, Albert'); +insert into movies values (458, 'Blast', 2000, 'Schenk, Martin'); +insert into movies values (458, 'Blasted', 2004, 'Sky, Erin'); +insert into movies values (459, 'Basquiat', 1996, 'Schnabel, Julian'); +insert into movies values (460, 'Pink Narcissus', 1971, 'Bidgood, James'); +insert into movies values (461, 'Nightwalker #1: Midnight Detective', 2000, 'Unknown'); +insert into movies values (462, 'Classic Cartoon Favorites: Starring Donald', 2005, 'Unknown'); +insert into movies values (463, 'The Twilight Zone: Vol. 12', 1962, 'Unknown'); +insert into movies values (464, 'The Return of Ruben Blades', 1987, 'Unknown'); +insert into movies values (465, 'Coolie No.1', 1995, 'Unknown'); +insert into movies values (466, 'Doogie Howser, M.D.: Season 2', 1990, 'Unknown'); +insert into movies values (467, 'Topper Returns', 1941, 'Del Ruth, Roy'); +insert into movies values (468, 'The Matrix: Revolutions', 2003, 'Unknown'); +insert into movies values (469, 'First Night of My Life: 2000 Seen By...', 1998, 'Unknown'); +insert into movies values (470, 'Beneath Loch Ness', 2001, 'Comisky, Chuck'); +insert into movies values (471, 'City Lights', 2006, 'Christy III, Stephen'); +insert into movies values (471, 'City Lights', 2006, 'Craley, Zach'); +insert into movies values (471, 'City Lights', 1931, 'Chaplin, Charles'); +insert into movies values (472, 'Mr. Jealousy', 1997, 'Baumbach, Noah'); +insert into movies values (473, 'Princess Mononoke', 1997, 'Unknown'); +insert into movies values (474, 'Legend of 1900', 1998, 'Unknown'); +insert into movies values (475, 'Surf Ninjas', 1993, 'Israel, Neal'); +insert into movies values (476, 'VeggieTales Classics: Where\'s God When I\'m Scared', 2004, 'Unknown'); +insert into movies values (477, 'George Carlin: Personal Favorites', 1990, 'Unknown'); +insert into movies values (478, 'The Beverly Hillbillies', 1962, 'Unknown'); +insert into movies values (479, 'George Carlin: What Am I Doing in New Jersey', 1988, 'Unknown'); +insert into movies values (480, 'Flypaper', 2004, 'Henley, Raygan'); +insert into movies values (480, 'Flypaper', 2005, 'Thompson, Shawn David'); +insert into movies values (480, 'Flypaper', 1997, 'Hoch, Klaus'); +insert into movies values (481, 'Building the Great Pyramid', 2002, 'Unknown'); +insert into movies values (482, 'Friday', 2000, 'Gibson, Jodi'); +insert into movies values (482, 'Friday', 1995, 'Gray, F. Gary'); +insert into movies values (482, 'Frida', 1914, 'Larsen, Viggo'); +insert into movies values (482, 'Friday', 1967, 'Obern, Vaughn'); +insert into movies values (482, 'Frida', 2002, 'Taymor, Julie'); +insert into movies values (483, 'Rush Hour 2', 2001, 'Ratner, Brett'); +insert into movies values (484, 'Danielle Steel\'s Jewels', 1992, 'Unknown'); +insert into movies values (485, 'The Avengers \'67', 1967, 'Unknown'); +insert into movies values (486, 'Journey to the Center of the Earth', 1959, 'Levin, Henry'); +insert into movies values (486, 'Journey to the Center of the Earth', 1989, 'Lemorande, Rusty'); +insert into movies values (486, 'Journey to the Center of the Earth', 1989, 'Pyun, Albert'); +insert into movies values (487, 'Doctor Who: Lost in Time: The Patrick Troughton Years', 1968, 'Unknown'); +insert into movies values (488, 'His Secret Life', 2001, 'Unknown'); +insert into movies values (489, 'Return to Paradise', 1998, 'Ruben, Joseph'); +insert into movies values (489, 'Return to Paradise', 1953, 'Robson, Mark'); +insert into movies values (490, 'The Passion of Ayn Rand', 1999, 'Unknown'); +insert into movies values (491, 'Torn Curtain', 1966, 'Hitchcock, Alfred'); +insert into movies values (492, 'Mrs. Soffel', 1984, 'Armstrong, Gillian'); +insert into movies values (493, 'The Giallo Collection: Who Saw Her Die', 1972, 'Unknown'); +insert into movies values (494, 'Monty Python\'s The Meaning of Life: Special Edition', 1983, 'Unknown'); +insert into movies values (495, 'Mission Kashmir', 2000, 'Chopra, Vidhu Vinod'); +insert into movies values (496, 'Primus: Hallucino-Genetics Live 2004', 2004, 'Unknown'); +insert into movies values (497, 'Broadway\'s Lost Treasures', 2003, 'Unknown'); +insert into movies values (498, 'Glory: Bonus Material', 1989, 'Unknown'); +insert into movies values (499, 'Under Suspicion', 1919, 'Dowlan, William C.'); +insert into movies values (499, 'Under Suspicion', 2000, 'Hopkins, Stephen'); +insert into movies values (499, 'Under Suspicion', 1991, 'Moore, Simon'); +insert into movies values (499, 'Under Suspicion', 1919, 'West, Walter'); +insert into movies values (499, 'Under Suspicion', 1912, 'Eagle, Oscar'); +insert into movies values (499, 'Under Suspicion', 1937, 'Collins, Lewis D.'); +insert into movies values (499, 'Under Suspicion', 1923, 'Beebe, Ford'); +insert into movies values (499, 'Under Suspicion', 1918, 'Davis, Will S.'); +insert into movies values (499, 'Under Suspicion', 1930, 'Erickson, A.F.'); +insert into movies values (500, 'Mail Call: The Best of Season 1', 2002, 'Unknown'); +insert into movies values (501, 'Three Days of the Condor', 1975, 'Pollack, Sydney'); +insert into movies values (502, 'Mitch Hedberg: Mitch All Together', 2003, 'Unknown'); +insert into movies values (503, 'Max and Ruby: Springtime for Max and Ruby', 2005, 'Unknown'); +insert into movies values (504, 'The Twilight Zone: Vol. 27', 1964, 'Unknown'); +insert into movies values (505, 'A Thousand Acres', 1997, 'Unknown'); +insert into movies values (506, 'Blank Generation / Dancin\' Barefoot', 1976, 'Unknown'); +insert into movies values (507, 'Nevada Smith', 1966, 'Hathaway, Henry'); +insert into movies values (508, 'Saint Jack', 1979, 'Bogdanovich, Peter'); +insert into movies values (509, 'The Volcano Disaster', 2004, 'Unknown'); +insert into movies values (510, 'Blue\'s Clues: Blue\'s Room: It\'s Hug Day', 2004, 'Unknown'); +insert into movies values (511, 'Avenging Angelo', 2002, 'Burke, Martyn'); +insert into movies values (512, 'Bubblegum Crisis: Hurricane Live!', 2000, 'Unknown'); +insert into movies values (513, 'Butterfly Kiss', 1995, 'Winterbottom, Michael'); +insert into movies values (514, 'Santana: Supernatural Live', 2000, 'Unknown'); +insert into movies values (515, 'Avia Vampire Hunter', 2005, 'Hunter, Leon'); +insert into movies values (516, 'Monsoon Wedding', 2001, 'Nair, Mira'); +insert into movies values (517, 'Two Can Play That Game', 2001, 'Brown, Mark'); +insert into movies values (518, 'The Prime of Miss Jean Brodie', 1969, 'Unknown'); +insert into movies values (519, 'From Mao to Mozart: Isaac Stern in China', 1981, 'Lerner, Murray'); +insert into movies values (520, 'E\'s Otherwise', 2004, 'Unknown'); +insert into movies values (521, 'Presenting Felix the Cat', 1927, 'Unknown'); +insert into movies values (522, 'Love Songs', 2003, 'Thames, Byron'); +insert into movies values (523, 'My Side of the Mountain', 1969, 'Clark, James B.'); +insert into movies values (524, 'Mumford', 1999, 'Kasdan, Lawrence'); +insert into movies values (525, 'The Last Seduction II', 1999, 'Unknown'); +insert into movies values (526, 'Angie', 1994, 'Coolidge, Martha'); +insert into movies values (526, 'Angie', 1993, 'Lagestee, Martin'); +insert into movies values (527, 'Barbarian Queen', 1985, 'Olivera, Hector'); +insert into movies values (528, 'The Hitchhiker\'s Guide to the Galaxy', 2005, 'Unknown'); +insert into movies values (529, 'Summer of the Monkeys', 1998, 'Anderson, Michael'); +insert into movies values (530, 'Return to Horror High', 1987, 'Froehlich, Bill'); +insert into movies values (531, 'You\'re Invited to Mary-Kate and Ashley\'s Vacation Parties', 1996, 'Unknown'); +insert into movies values (532, 'Young Einstein', 1988, 'Serious, Yahoo'); +insert into movies values (533, 'Drop Dead Fred', 1991, 'Jong, Ate de'); +insert into movies values (534, 'With a Friend Like Harry', 2000, 'Unknown'); +insert into movies values (535, 'The Alamo', 1960, 'Unknown'); +insert into movies values (536, 'Sol Goode', 2001, 'Comden, Danny'); +insert into movies values (537, 'Here is Greenwood', 1991, 'Unknown'); +insert into movies values (538, 'A Crime of Passion', 2003, 'Unknown'); +insert into movies values (539, 'Rumpole of the Bailey: Series 4', 1987, 'Unknown'); +insert into movies values (540, 'Ghosts of the Abyss: Bonus Material', 2003, 'Unknown'); +insert into movies values (541, 'King Cobra', 1999, 'Hillenbrand, David'); +insert into movies values (541, 'King Cobra', 1999, 'Hillenbrand, Scott'); +insert into movies values (542, 'The Blackout', 1997, 'Unknown'); +insert into movies values (543, 'Roughnecks: The Starship Troopers Chronicles: The Pluto Campaign', 1999, 'Unknown'); +insert into movies values (544, 'Maurice: Bonus Material', 1987, 'Unknown'); +insert into movies values (545, 'Bob the Builder: The Big Game', 2002, 'Unknown'); +insert into movies values (546, 'The Strip Game', 2005, 'Unknown'); +insert into movies values (547, 'Kuffs', 1992, 'Evans, Bruce A.'); +insert into movies values (548, 'Hudson Hawk', 1991, 'Lehmann, Michael'); +insert into movies values (549, 'Rage at Dawn', 1955, 'Whelan, Tim'); +insert into movies values (550, 'First Knight', 1995, 'Zucker, Jerry'); +insert into movies values (551, 'The Santa Clause', 1994, 'Unknown'); +insert into movies values (552, 'Radioland Murders', 1994, 'Smith, Mel'); +insert into movies values (553, 'Rangeela', 1995, 'Varma, Ram Gopal'); +insert into movies values (553, 'Rangeela', 1970, 'Rangeela'); +insert into movies values (554, 'Solaris', 2002, 'Soderbergh, Steven'); +insert into movies values (555, 'Cadfael: A Morbid Taste for Bones', 1996, 'Unknown'); +insert into movies values (556, 'New Waterford Girl', 1999, 'Moyle, Allan'); +insert into movies values (557, 'Liebestraum', 1991, 'Figgis, Mike'); +insert into movies values (557, 'Liebestraum', 1932, 'Newman, Widgey R.'); +insert into movies values (558, 'Fantastic Four, The', 1994, 'Sassone, Oley'); +insert into movies values (558, 'Fantastic Four', 2005, 'Story, Tim'); +insert into movies values (559, 'Rebecca: Bonus Material', 1940, 'Unknown'); +insert into movies values (560, 'Star Trek: Enterprise: Season 3', 2003, 'Unknown'); +insert into movies values (561, 'High and Low', 1913, 'Dwan, Allan'); +insert into movies values (562, 'Bloody Mallory', 2002, 'Magnat, Julien'); +insert into movies values (563, 'Jimmy Neutron: Boy Genius', 2001, 'Davis, John A.'); +insert into movies values (564, 'Predator 2', 1990, 'Hopkins, Stephen'); +insert into movies values (565, 'Tom Petty and the Heartbreakers: Live at the Olympic: The Last DJ', 2002, 'Unknown'); +insert into movies values (566, 'Bullet', 1996, 'Temple, Julien'); +insert into movies values (566, 'Bullet Boy', 2004, 'Dibb, Saul'); +insert into movies values (566, 'Bullet', 1976, 'Anand, Vijay'); +insert into movies values (566, 'Bullet', 1999, 'Montano, Cesar'); +insert into movies values (566, 'Bullet', 2003, 'Philips, Amayo Uzo'); +insert into movies values (566, 'Bulletproof', 1996, 'Dickerson, Ernest R.'); +insert into movies values (566, 'Bullet', 1985, 'Bapu'); +insert into movies values (566, 'Bullet', 1993, 'Weerasethakul, Apichatpong'); +insert into movies values (566, 'Bulletface', 2007, 'Pyun, Albert'); +insert into movies values (566, 'Bullethead', 1993, 'Munro, David'); +insert into movies values (566, 'Bullet Code', 1940, 'Howard, David'); +insert into movies values (566, 'Bullethead', 2002, 'Burson, Mark'); +insert into movies values (566, 'Bullet', 1984, 'Mani, M.S.'); +insert into movies values (566, 'Bulletproof', 1988, 'Carver, Steve'); +insert into movies values (566, 'Bullets', 1998, 'Su, Bernie'); +insert into movies values (566, 'Bullets 2', 1999, 'Su, Bernie'); +insert into movies values (566, 'Iced Bullet, The', 1917, 'Barker, Reginald'); +insert into movies values (567, 'Dunsmore', 2003, 'Spirer, Peter'); +insert into movies values (568, 'Knights of Ramune', 1999, 'Unknown'); +insert into movies values (569, 'The In-Laws', 1979, 'Unknown'); +insert into movies values (570, 'The Visit', 2000, 'Unknown'); +insert into movies values (571, 'American Beauty', 1999, 'Mendes, Sam'); +insert into movies values (571, 'American Beauty Ltd.', 1989, 'Marcello, Dieter'); +insert into movies values (571, 'American Beauty', 1993, 'Marino, Frank'); +insert into movies values (571, 'American Beauty Pie', 2000, 'Kogon, Stephen'); +insert into movies values (571, 'American Beauty, The', 1916, 'Taylor, William Desmond'); +insert into movies values (571, 'American Beauty', 1927, 'Wallace, Richard'); +insert into movies values (572, 'The Masque of the Red Death / The Premature Burial', 1962, 'Unknown'); +insert into movies values (573, 'Winners & Sinners', 1983, 'Unknown'); +insert into movies values (574, 'Strangers When We Meet', 1960, 'Quine, Richard'); +insert into movies values (575, 'Highlander: Season 4', 1994, 'Unknown'); +insert into movies values (576, 'Popular: Season 2', 2000, 'Unknown'); +insert into movies values (577, 'The Twilight Zone: Vol. 36', 1961, 'Unknown'); +insert into movies values (578, 'The Terror', 1963, 'Unknown'); +insert into movies values (579, 'The Autobiography of Miss Jane Pittman', 1973, 'Unknown'); +insert into movies values (580, 'THX 1138: Special Edition', 1971, 'Unknown'); +insert into movies values (581, 'Black Jack: The Movie', 1993, 'Unknown'); +insert into movies values (582, 'Jo Jo Dancer, Your Life is Calling', 1986, 'Unknown'); +insert into movies values (583, 'Third Man on the Mountain', 1959, 'Annakin, Ken'); +insert into movies values (584, 'The Curve', 1998, 'Unknown'); +insert into movies values (585, 'My Family', 1995, 'Nava, Gregory'); +insert into movies values (586, 'Shanghai Triad', 1995, 'Unknown'); +insert into movies values (587, 'The Scarlet and the Black', 1983, 'Unknown'); +insert into movies values (588, 'Blue Planet: IMAX', 1990, 'Unknown'); +insert into movies values (589, 'Northanger Abbey', 2000, 'Unknown'); +insert into movies values (590, 'Michael McDonald: A Gathering of Friends', 2001, 'Unknown'); +insert into movies values (591, 'Particles of Truth', 2003, 'Elster, Jennifer'); +insert into movies values (592, 'House of Whipcord', 1974, 'Walker, Pete'); +insert into movies values (593, 'Baby Genius: Mozart and Friends', 2000, 'Unknown'); +insert into movies values (594, 'By Hook or By Crook', 2002, 'Unknown'); +insert into movies values (595, 'Monarch of the Glen: Series 2', 2001, 'Unknown'); +insert into movies values (596, 'Alice in Wonderland (TV Version)', 1999, 'Unknown'); +insert into movies values (597, 'The Brady Bunch Variety Hour', 1977, 'Unknown'); +insert into movies values (598, 'Bobby Darin: Mack is Back', 1973, 'Unknown'); +insert into movies values (599, 'Sea of Love', 1989, 'Becker, Harold'); +insert into movies values (599, 'Sea of Love', 1992, 'Pachard, Henri'); +insert into movies values (600, 'What\'s Up, Tiger Lily', 1966, 'Allen, Woody'); +insert into movies values (600, 'What\'s Up, Tiger Lily', 1966, 'Taniguchi, Senkichi'); +insert into movies values (601, 'The Smiths: The Complete Picture', 1992, 'Unknown'); +insert into movies values (602, 'Tokyo Raiders', 2000, 'Unknown'); +insert into movies values (603, 'Burn Up Excess: Vol. 1: To Serve and Protect', 1997, 'Unknown'); +insert into movies values (604, 'Walt Disney\'s Timeless Tales: Vol. 2', 2005, 'Unknown'); +insert into movies values (605, 'The Secrets of the Dead Sea Scrolls', 2000, 'Unknown'); +insert into movies values (606, 'Quatermass and the Pit', 1967, 'Baker, Roy Ward'); +insert into movies values (607, 'Speedtrap', 1992, 'Adams, Buck'); +insert into movies values (607, 'Speedway', 1929, 'Beaumont, Harry'); +insert into movies values (607, 'Speedtrap', 1977, 'Bellamy, Earl'); +insert into movies values (607, 'Speed', 2006, 'Bhatt, Vikram'); +insert into movies values (607, 'Speed', 1994, 'Bont, Jan de'); +insert into movies values (607, 'Speed Ball', 2000, 'Bouhnik, Laurent'); +insert into movies values (607, 'Speeder', 1986, 'Collins, Brent'); +insert into movies values (607, '10-Speed', 2001, 'Cunningham, Jeff'); +insert into movies values (607, 'Speed Wild', 1925, 'Garson, Harry'); +insert into movies values (607, 'Speeder', 2005, 'Grammer, William'); +insert into movies values (607, 'Speeding', 1916, 'Hartigan, Pat'); +insert into movies values (607, 'Speed Boys', 1924, 'Herman, Al'); +insert into movies values (607, 'Speed King', 1923, 'Jones, Grover'); +insert into movies values (607, 'Speed', 1925, 'LeSaint, Edward'); +insert into movies values (607, '10-Speed', 2001, 'Locke-Norton, Adam'); +insert into movies values (607, 'Speed', 1984, 'MacGillivray, Greg'); +insert into movies values (607, 'Speed Mad', 1925, 'Marchant, Jay'); +insert into movies values (607, 'Speed', 1936, 'Marin, Edwin L.'); +insert into movies values (607, 'Speed Bugs', 1923, 'Mayo, Archie'); +insert into movies values (607, 'Speed Bump', 2000, 'Michael, Sean'); +insert into movies values (607, 'Speed City', 2001, 'Mordaunt, Kim'); +insert into movies values (607, 'Speedo', 2003, 'Moss, Jesse'); +insert into movies values (607, 'Speedway', 1999, 'Parfait, Ralph'); +insert into movies values (607, 'Speed', 1922, 'Seitz, George B.'); +insert into movies values (607, 'Speed', 1931, 'Sennett, Mack'); +insert into movies values (607, 'Speed', 1919, 'St. John, Al'); +insert into movies values (607, 'Speedway', 1968, 'Taurog, Norman'); +insert into movies values (607, 'Speedster', 1992, 'Thomas, Paul'); +insert into movies values (607, 'Speed', 2000, 'Walsh, Darren'); +insert into movies values (607, 'Speed Deal', 2003, 'White, Alana'); +insert into movies values (607, 'Speed City', 2001, 'Wilczynski, Sylvia'); +insert into movies values (607, 'Speedy', 1928, 'Wilde, Ted'); +insert into movies values (607, 'Speed Week', 1957, 'Winner, Howard'); +insert into movies values (607, 'Speed Cop', 1926, 'Worne, Duke'); +insert into movies values (608, 'The Lickerish Quartet', 1970, 'Unknown'); +insert into movies values (609, 'Jimmy Neutron: Attack of the Twonkies', 2002, 'Unknown'); +insert into movies values (610, 'Offspring: Americana', 1999, 'Unknown'); +insert into movies values (611, 'Spooks & Creeps', 2004, 'Unknown'); +insert into movies values (612, 'Cloak and Dagger', 1946, 'Lang, Fritz'); +insert into movies values (613, 'The Dr. Who Collection', 1965, 'Unknown'); +insert into movies values (614, 'Bad Boy Bubby', 1993, 'de Heer, Rolf'); +insert into movies values (615, 'An Ideal Husband', 1999, 'Unknown'); +insert into movies values (616, 'SCTV Network 90: Vol. 4', 1983, 'Unknown'); +insert into movies values (617, 'UFC: Ultimate Fighting Championship: Ultimate Knockouts 3', 2004, 'Unknown'); +insert into movies values (618, 'Totally F***ed Up', 1994, 'Unknown'); +insert into movies values (619, 'Doctor Who: The Leisure Hive', 1980, 'Unknown'); +insert into movies values (620, 'Hot Wheels: World Race', 2003, 'Unknown'); +insert into movies values (621, 'Armageddon', 1962, 'Izrailev, Mikhail'); +insert into movies values (621, 'Armageddon', 1923, 'Woolfe, H. Bruce'); +insert into movies values (621, 'Armageddon', 1999, 'Dunn, Kevin'); +insert into movies values (621, 'Armageddon', 1998, 'Bay, Michael'); +insert into movies values (622, 'Talkin\' Dirty After Dark', 1991, 'Carew, Topper'); +insert into movies values (623, 'Dario Argento Collection: Vol. 2: Demons 2', 1986, 'Unknown'); +insert into movies values (624, 'My Mother Likes Women', 2004, 'Unknown'); +insert into movies values (625, 'Underground Comedy Movie, The', 1999, 'Offer, Vince'); +insert into movies values (626, 'They Died with Their Boots On', 1941, 'Walsh, Raoul'); +insert into movies values (627, 'Beware of a Holy Whore', 1971, 'Unknown'); +insert into movies values (628, 'Rescue Heroes: The Movie', 2003, 'Pitts, Ron'); +insert into movies values (629, 'Firestarter', 2005, 'Dane, Roland'); +insert into movies values (629, 'Firestarter', 1984, 'Lester, Mark L.'); +insert into movies values (630, 'Empire of the Ants', 1977, 'Gordon, Bert I.'); +insert into movies values (631, 'K9 Unleashed', 2000, 'Barnfather, Keith'); +insert into movies values (631, 'Unleashed', 2005, 'Kerkove, Bridgette'); +insert into movies values (631, 'Unleashed', 1996, 'Blake, Andrew'); +insert into movies values (631, 'Unleashed', 2003, 'Vidal, Nacho'); +insert into movies values (631, 'Unleashed', 1997, 'Shapiro, Darren'); +insert into movies values (632, 'Shaft\'s Big Score!', 1972, 'Parks, Gordon'); +insert into movies values (633, 'Baazigar', 1993, 'Burmawalla, Abbas Alibhai'); +insert into movies values (633, 'Baazigar', 1993, 'Burmawalla, Mastan Alibhai'); +insert into movies values (633, 'Baazigar', 1959, 'Bhatt, Nanabhai'); +insert into movies values (634, 'Christmas with The Simpsons', 1989, 'Unknown'); +insert into movies values (635, 'The Fassbinder Collection: Pioneer in Ingolstadt', 1971, 'Unknown'); +insert into movies values (636, 'Stir Crazy', 1980, 'Poitier, Sidney'); +insert into movies values (637, 'National Geographic: Inside American Power: Air Force One', 2001, 'Unknown'); +insert into movies values (638, 'The Last Dragon', 1985, 'Unknown'); +insert into movies values (639, 'Jim Brown: All-American', 2002, 'Unknown'); +insert into movies values (640, 'To Catch a Killer', 1992, 'Unknown'); +insert into movies values (641, 'Charly', 1985, 'Strauss, Florence'); +insert into movies values (641, 'Charly', 2005, 'Cameron, Terry'); +insert into movies values (641, 'Charly', 2005, 'Garcia, Charly'); +insert into movies values (641, 'Charly May', 1966, 'Schamoni, Thomas'); +insert into movies values (641, 'Charly', 2002, 'Anderegg, Adam Thomas'); +insert into movies values (641, 'Charly', 1968, 'Nelson, Ralph'); +insert into movies values (642, 'Mystery Science Theater 3000: The Hellcats', 1990, 'Unknown'); +insert into movies values (643, 'Buying the Cow', 2002, 'Becker, Walt'); +insert into movies values (644, 'Cheyenne Warrior', 1994, 'Unknown'); +insert into movies values (645, 'Dear Frankie', 2004, 'Auerbach, Shona'); +insert into movies values (646, 'Matewan', 1987, 'Sayles, John'); +insert into movies values (647, 'Cinderfella', 1960, 'Tashlin, Frank'); +insert into movies values (648, 'John Mayall & The Bluesbreakers and Friends: 70th Birthday Concert', 2003, 'Unknown'); +insert into movies values (649, 'Ricky Martin: The Ricky Martin Video Collection', 1999, 'Unknown'); +insert into movies values (650, 'Elvira\'s Haunted Hills', 2001, 'Irvin, Sam'); +insert into movies values (651, 'The Rainbow Fish / Dazzle the Dinosaur', 1997, 'Unknown'); +insert into movies values (652, 'Marvin\'s Room', 1996, 'Zaks, Jerry'); +insert into movies values (653, 'American Tragedy', 2001, 'Caldwell, Joshua'); +insert into movies values (653, 'American Tragedy, An', 1931, 'von Sternberg, Josef'); +insert into movies values (654, 'Return of the Chinese Boxer', 1975, 'Unknown'); +insert into movies values (655, 'Green Acres: Season 1', 1965, 'Unknown'); +insert into movies values (656, 'Veronica 2030', 1999, 'Graver, Gary'); +insert into movies values (657, 'Highlander: Season 5', 1996, 'Unknown'); +insert into movies values (658, 'Robin Hood: Prince of Thieves', 1991, 'Reynolds, Kevin'); +insert into movies values (659, 'The Last House on the Left', 1972, 'Unknown'); +insert into movies values (660, 'No Saving Grace', 1992, 'Allen, Peter'); +insert into movies values (660, 'Saving Grace', 2003, 'Gumbert, Ken'); +insert into movies values (660, 'Saving Grace', 1994, 'Kearney, George'); +insert into movies values (660, 'Saving Grace', 1997, 'Burrows, Judith'); +insert into movies values (660, 'Saving Grace, The', 1914, 'Cabanne, Christy'); +insert into movies values (660, 'Saving Grace', 1998, 'Harrison, Anthony'); +insert into movies values (660, 'Saving Grace', 1997, 'Botes, Costa'); +insert into movies values (660, 'Saving Grace', 2000, 'Cole, Nigel'); +insert into movies values (660, 'Saving Grace', 1985, 'Young, Robert M.'); +insert into movies values (661, 'Who is Cletis Tout', 2002, 'Unknown'); +insert into movies values (662, 'Rob Roy', 1911, 'Vivian, Arthur'); +insert into movies values (662, 'Rob Roy', 1913, 'Vernot, Henry J.'); +insert into movies values (662, 'Rob Roy', 1922, 'Kellino, W.P.'); +insert into movies values (662, 'Rob Roy', 1995, 'Caton-Jones, Michael'); +insert into movies values (663, 'La Femme Nikita: Season 3', 1999, 'Unknown'); +insert into movies values (664, 'Office Killer', 1997, 'Sherman, Cindy'); +insert into movies values (665, 'Lipstick', 2002, 'Apted, Michael'); +insert into movies values (665, 'Lipstick Men', 2004, 'Ayres, Heather Renee'); +insert into movies values (665, 'Lipstick', 1999, 'Aubier, Pascal'); +insert into movies values (665, 'Lipstick', 2000, 'Raven, Michael'); +insert into movies values (665, 'Lipstick', 1976, 'Johnson, Lamont'); +insert into movies values (665, 'Lipstick', 2004, 'Mailer, Richard'); +insert into movies values (665, 'Lipstick', 2005, 'Perry, Harriet'); +insert into movies values (666, 'The Man Who Came to Dinner', 2000, 'Unknown'); +insert into movies values (667, 'Gilligan\'s Island: Season 2', 1965, 'Unknown'); +insert into movies values (668, 'Saturday Night Live: The Best of Will Ferrell 2', 2004, 'Unknown'); +insert into movies values (669, 'Real Kung Fu of Shaolin', 1986, 'Ko, Yeung'); +insert into movies values (670, 'He Loves Me, He Loves Me Not', 2002, 'Unknown'); +insert into movies values (671, 'The Winter People', 1989, 'Unknown'); +insert into movies values (672, 'He Said, She Said', 1991, 'Kwapis, Ken'); +insert into movies values (672, 'He Said, She Said', 1991, 'Silver, Marisa'); +insert into movies values (673, 'Fight Club: Bonus Material', 1999, 'Unknown'); +insert into movies values (674, 'Hellbound: Hellraiser II', 1988, 'Randel, Tony'); +insert into movies values (675, 'Rugrats All Grown Up: O\' Brother!', 2004, 'Unknown'); +insert into movies values (676, 'Mafia!', 1998, 'Unknown'); +insert into movies values (677, 'In the Mood for Love', 2001, 'Unknown'); +insert into movies values (678, 'Loves of a Blonde', 1965, 'Unknown'); +insert into movies values (679, 'R.E.M.: Pop Screen', 1990, 'Cohen, Jem'); +insert into movies values (679, 'R.E.M.: Pop Screen', 1990, 'Darnell, Eric'); +insert into movies values (679, 'R.E.M.: Pop Screen', 1990, 'Dieckmann, Katherine'); +insert into movies values (679, 'R.E.M.: Pop Screen', 1990, 'Herbert, James'); +insert into movies values (679, 'R.E.M.: Pop Screen', 1990, 'Longo, Robert'); +insert into movies values (679, 'R.E.M.: Pop Screen', 1990, 'Mahurin, Matt'); +insert into movies values (679, 'R.E.M.: Pop Screen', 1990, 'Stipe, Michael'); +insert into movies values (680, 'Better Than Sex', 2005, 'Burns, Christopher'); +insert into movies values (680, 'Better Than Sex', 2005, 'Cardinale, Tina'); +insert into movies values (680, 'Better Than Sex', 2000, 'Teplitzky, Jonathan'); +insert into movies values (681, 'Police Academy 3: Back in Training', 1986, 'Paris, Jerry'); +insert into movies values (682, 'The Mighty', 1998, 'Unknown'); +insert into movies values (683, 'Cavalry Charge', 1951, 'Unknown'); +insert into movies values (684, 'Visitors of the Night', 1995, 'Unknown'); +insert into movies values (685, 'Running Out of Time', 1999, 'Unknown'); +insert into movies values (686, 'Bedazzled', 1967, 'Donen, Stanley'); +insert into movies values (686, 'Bedazzled', 2000, 'Ramis, Harold'); +insert into movies values (687, 'Peter Jennings Reports: The Kennedy Assassination: Beyond Conspiracy', 2003, 'Unknown'); +insert into movies values (688, 'The History Channel Presents: The Alamo', 2003, 'Unknown'); +insert into movies values (689, 'One True Thing', 1998, 'Franklin, Carl'); +insert into movies values (690, 'Baby Einstein: Baby Da Vinci', 2004, 'Unknown'); +insert into movies values (691, 'Angel\'s Dance', 1999, 'Corley, David L.'); +insert into movies values (692, 'The Hand that Rocks the Cradle', 1992, 'Unknown'); +insert into movies values (693, 'The Quest', 1996, 'Unknown'); +insert into movies values (694, 'When Dinosaurs Roamed America', 2000, 'Unknown'); +insert into movies values (695, 'Koma', 1989, 'Adomenaite, Nijole'); +insert into movies values (695, 'Komanda', 2004, 'Berzner, Boris'); +insert into movies values (695, 'Koma', 2004, 'Bisgaard, Kasper'); +insert into movies values (695, 'Komaran', 1982, 'George, J.C.'); +insert into movies values (695, 'Koma', 1989, 'Gorlov, Boris'); +insert into movies values (695, 'Koma', 2004, 'Law, Chi-Leung'); +insert into movies values (695, 'Komanda', 2004, 'Makovchik, Tatiana'); +insert into movies values (695, 'Komarac', 1992, 'Mesic, Kresimir'); +insert into movies values (695, 'Koma', 2004, 'Saldia Ramirez, Cristian'); +insert into movies values (695, 'Koma', 1994, 'Thorwarth, Peter'); +insert into movies values (696, 'Last Man Standing', 1996, 'Merhi, Joseph'); +insert into movies values (696, 'Last Man Standing', 1996, 'Hill, Walter'); +insert into movies values (696, 'Last Man Standing', 1988, 'Lee, Damian'); +insert into movies values (697, 'Caillou: Caillou\'s Treasure Hunt and Other Adventures', 2000, 'Unknown'); +insert into movies values (698, 'Daud', 1997, 'Unknown'); +insert into movies values (699, 'Mahoromatic: Automatic Maiden: Summer Special', 2004, 'Unknown'); +insert into movies values (700, 'Todd McFarlane\'s Spawn', 1997, 'Unknown'); +insert into movies values (701, 'Nine Lives', 1988, 'Aqua, Karen'); +insert into movies values (701, 'Nine Lives', 2004, 'Howell, Dean'); +insert into movies values (701, 'Nine Lives', 2005, 'Garcia, Rodrigo'); +insert into movies values (701, 'Nine Lives', 2002, 'Green, Andrew'); +insert into movies values (701, 'Nine Lives', 2006, 'Calvo, A.D.'); +insert into movies values (702, 'For the Moment', 1993, 'Johnston, Aaron Kim'); +insert into movies values (703, 'Japan: Memoirs of a Secret Empire', 2004, 'DeSnoo, Debora'); +insert into movies values (704, 'A Change of Heart', 1998, 'Unknown'); +insert into movies values (705, 'Major League II', 1994, 'Ward, David S.'); +insert into movies values (705, 'Major League Azz', 1999, 'Knight, James'); +insert into movies values (705, 'Major League', 1989, 'Ward, David S.'); +insert into movies values (706, 'Mobsters', 1991, 'Karbelnikoff, Michael'); +insert into movies values (707, 'The Return', 2003, 'Unknown'); +insert into movies values (708, 'The Perfect Storm', 2000, 'Unknown'); +insert into movies values (709, 'Africans in America: America\'s Journey Through Slavery', 1998, 'Bagwell, Orlando'); +insert into movies values (709, 'Africans in America: America\'s Journey Through Slavery', 1998, 'Bellows, Susan'); +insert into movies values (709, 'Africans in America: America\'s Journey Through Slavery', 1998, 'Jones, Jacquie'); +insert into movies values (709, 'Africans in America: America\'s Journey Through Slavery', 1998, 'Smith, Llewellyn'); +insert into movies values (709, 'Africans in America: America\'s Journey Through Slavery', 1998, 'Walker, Noland'); +insert into movies values (710, 'Inspector Morse 9: The Last Enemy', 1993, 'Unknown'); +insert into movies values (711, 'Dolores Claiborne', 1995, 'Hackford, Taylor'); +insert into movies values (712, 'Homicide: Life on the Street: Season 7', 1998, 'Unknown'); +insert into movies values (713, 'Cause Celebre', 1987, 'Unknown'); +insert into movies values (714, 'Whisper Kill', 1988, 'Unknown'); +insert into movies values (715, 'Film Noir Collection: D.O.A.', 1950, 'Unknown'); +insert into movies values (716, 'The Bravados', 1958, 'Unknown'); +insert into movies values (717, 'Testosterone', 2005, 'Panoussopoulos, Giorgos'); +insert into movies values (717, 'Testosterone', 2003, 'Moreton, David'); +insert into movies values (718, '44 Minutes', 2003, 'Unknown'); +insert into movies values (719, 'City of Industry', 1997, 'Irvin, John'); +insert into movies values (720, 'Roger & Me', 1989, 'Moore, Michael'); +insert into movies values (721, 'Royal Deceit', 1994, 'Unknown'); +insert into movies values (722, 'The Wire: Season 1', 2003, 'Unknown'); +insert into movies values (723, 'Curly Sue', 1991, 'Hughes, John'); +insert into movies values (724, 'Yu Yu Hakusho', 1992, 'Unknown'); +insert into movies values (725, 'Woman Thou Art Loosed', 2004, 'Schultz, Michael'); +insert into movies values (726, 'The Haunting of Morella', 1990, 'Unknown'); +insert into movies values (727, 'Carlton-Browne of the F.O.', 1959, 'Boulting, Roy'); +insert into movies values (727, 'Carlton-Browne of the F.O.', 1959, 'Dell, Jeffrey'); +insert into movies values (728, 'Abigail\'s Party', 1977, 'Unknown'); +insert into movies values (729, 'Fast Food, Fast Women', 2000, 'Unknown'); +insert into movies values (730, 'Bagdad Cafe', 1988, 'Unknown'); +insert into movies values (731, 'Mr. Magoo', 1997, 'Tong, Stanley'); +insert into movies values (732, '11:14', 2003, 'Marcks, Greg'); +insert into movies values (733, 'Dead Ringers', 1988, 'Cronenberg, David'); +insert into movies values (734, 'Indochine', 1992, 'Wargnier, Regis'); +insert into movies values (735, 'Hillary & Tenzing: Climbing to the Roof of World', 2003, 'Unknown'); +insert into movies values (736, 'The Last Man', 2002, 'Unknown'); +insert into movies values (737, 'Great Pas de Deux', 2004, 'Unknown'); +insert into movies values (738, 'A Slipping Down Life', 1999, 'Unknown'); +insert into movies values (739, 'Treading Water', 2001, 'Himmel, Lauren'); +insert into movies values (739, 'Treading Water', 2002, 'Peeples, Nia'); +insert into movies values (740, 'The House on Carroll Street', 1988, 'Unknown'); +insert into movies values (741, 'Ken Burns\' America: The Congress', 1988, 'Unknown'); +insert into movies values (742, 'Sherlock: Case of Evil', 2002, 'Unknown'); +insert into movies values (743, 'Widows\' Peak', 1994, 'Irvin, John'); +insert into movies values (744, 'Hot War', 1998, 'Unknown'); +insert into movies values (745, 'Fantasy Mission Force', 1979, 'Unknown'); +insert into movies values (746, 'Domestic Disturbance', 2001, 'Becker, Harold'); +insert into movies values (747, 'Saber Marionette J', 1996, 'Unknown'); +insert into movies values (748, 'I Can Do Bad All By Myself', 2002, 'Unknown'); +insert into movies values (749, 'Ernest Goes to Jail', 1990, 'Cherry III, John R.'); +insert into movies values (750, 'The Librarian: Quest for the Spear', 2004, 'Unknown'); +insert into movies values (751, 'Halloween: H2O', 1998, 'Unknown'); +insert into movies values (752, 'Star Trek: The Next Generation: Season 7', 1993, 'Unknown'); +insert into movies values (753, 'Mary Poppins: Bonus Material', 1964, 'Unknown'); +insert into movies values (754, 'The Lonely Guy', 1984, 'Unknown'); +insert into movies values (755, 'Music Box, The', 1932, 'Parrott, James'); +insert into movies values (755, 'Music Box', 1989, 'Costa-Gavras'); +insert into movies values (756, 'The Best of MusikLaden: Classic Rock', 2000, 'Unknown'); +insert into movies values (757, 'Sherlock Hound', 1984, 'Unknown'); +insert into movies values (758, 'Mean Girls', 2004, 'Waters, Mark'); +insert into movies values (759, 'Fifteen Minutes', 2000, 'Welch, Jason'); +insert into movies values (759, 'Fifteen Minutes', 1921, 'Chase, Charley'); +insert into movies values (759, 'Fifteen Minutes', 2002, 'Weimer, Alex'); +insert into movies values (760, 'Pooh\'s Heffalump Movie', 2005, 'Nissen, Frank'); +insert into movies values (761, 'O Fantasma', 2000, 'Unknown'); +insert into movies values (762, 'End of the Century: The Story of the Ramones', 2004, 'Unknown'); +insert into movies values (763, 'The Poseidon Adventure', 1972, 'Unknown'); +insert into movies values (764, 'Scarface: 20th Anniversary Edition: Bonus Material', 1983, 'Unknown'); +insert into movies values (765, 'Grief', 1994, 'Fujii, Shugo'); +insert into movies values (765, 'Grief', 1993, 'Glatzer, Richard'); +insert into movies values (766, 'A Hole in the Head', 1959, 'Unknown'); +insert into movies values (767, 'Edges of the Lord', 2001, 'Bogayevicz, Yurek'); +insert into movies values (768, 'The Star Maker', 1995, 'Unknown'); +insert into movies values (769, 'The Crawling Eye', 1958, 'Unknown'); +insert into movies values (770, 'A Perfect Candidate', 1996, 'Unknown'); +insert into movies values (771, 'Man in the Iron Mask, The', 1998, 'Wallace, Randall'); +insert into movies values (771, 'Man in the Iron Mask, The', 1998, 'Richert, William'); +insert into movies values (771, 'Man in the Iron Mask, The', 1939, 'Whale, James'); +insert into movies values (772, 'Gloria Estefan: Don\'t Stop!', 1998, 'Unknown'); +insert into movies values (773, 'He Died with a Felafel in His Hand', 2001, 'Lowenstein, Richard'); +insert into movies values (774, 'Foyle\'s War: Set 2', 2003, 'Unknown'); +insert into movies values (775, 'Man Ray: Prophet of the Avant Garde', 1999, 'Unknown'); +insert into movies values (776, 'Dr. Seuss\'s The 5,000 Fingers of Dr. T', 1953, 'Unknown'); +insert into movies values (777, 'Sherlock Holmes and the Spider Woman', 1944, 'Unknown'); +insert into movies values (778, 'A Touch of Frost: Seasons 7 & 8', 2003, 'Unknown'); +insert into movies values (779, 'Loving Jezebel', 1999, 'Bader, Kwyn'); +insert into movies values (780, 'Churchill', 2003, 'Carter, Lucy'); +insert into movies values (781, 'Care Bears: Journey to Joke-a-Lot', 2004, 'Fallows, Mike'); +insert into movies values (782, 'Soldier of Fortune', 1987, 'Ciriaci, Pierluigi'); +insert into movies values (782, 'Soldier of Fortune, The', 1991, 'Burrows, Stephen'); +insert into movies values (782, 'Soldier of Fortune', 1955, 'Dmytryk, Edward'); +insert into movies values (783, 'For Love or Country', 2001, 'Unknown'); +insert into movies values (784, 'The Outer Limits: The New Series: Aliens Among Us', 1995, 'Unknown'); +insert into movies values (785, 'American Pop', 1981, 'Bakshi, Ralph'); +insert into movies values (786, 'Tokyo Drifter', 1966, 'Unknown'); +insert into movies values (787, 'La Vallee', 1972, 'Unknown'); +insert into movies values (788, 'Clerks II', 2006, 'Smith, Kevin'); +insert into movies values (788, 'Clerks.', 1994, 'Smith, Kevin'); +insert into movies values (789, 'Boyz N the Hood', 1991, 'Unknown'); +insert into movies values (790, 'A Single Girl', 2000, 'Unknown'); +insert into movies values (791, 'Don Henley: Live Inside Job', 2000, 'Unknown'); +insert into movies values (792, 'Unsolved History: Salem Witch Trials', 2004, 'Unknown'); +insert into movies values (793, 'By Brakhage: An Anthology', 2004, 'Unknown'); +insert into movies values (794, 'A Stranger Among Us', 1992, 'Unknown'); +insert into movies values (795, 'Landmarks of Early Film', 1997, 'Unknown'); +insert into movies values (796, 'Rabid', 1977, 'Cronenberg, David'); +insert into movies values (796, 'Rabid Cop', 1990, 'Rasak, Ken'); +insert into movies values (797, 'Look Back in Anger', 1958, 'Richardson, Tony'); +insert into movies values (797, 'Look Back in Anger', 1980, 'Anderson, Lindsay'); +insert into movies values (797, 'Look Back in Anger', 1980, 'Jones, David Hugh'); +insert into movies values (798, 'Jaws 3-D', 1983, 'Alves, Joe'); +insert into movies values (798, 'Jaws', 1978, 'Fessenden, Larry'); +insert into movies values (798, 'Jaws', 1975, 'Spielberg, Steven'); +insert into movies values (798, 'Jaws 2', 1978, 'Szwarc, Jeannot'); +insert into movies values (799, 'Teen Titans: Season 1', 2003, 'Unknown'); +insert into movies values (800, 'Dracula Vs. Frankenstein', 1971, 'Unknown'); +insert into movies values (801, 'We Know Where You Live. Live!', 2001, 'Unknown'); +insert into movies values (802, 'Spies', 1986, 'Jeremy, Ron'); +insert into movies values (802, 'Spies', 1943, 'Jones, Chuck'); +insert into movies values (802, 'Spies Inc.', 1988, 'Thomas, Antony'); +insert into movies values (802, 'Spies', 1915, 'Wilson, Frank'); +insert into movies values (803, 'Soul Assassin', 2001, 'Malkin, Laurence'); +insert into movies values (804, 'Sherlock Holmes: The Scarlet Claw', 1944, 'Unknown'); +insert into movies values (805, 'Dark Shadows: Vol. 11', 1968, 'Unknown'); +insert into movies values (806, 'Eyes Without a Face', 1960, 'Unknown'); +insert into movies values (807, 'The Mouse That Roared', 1959, 'Unknown'); +insert into movies values (808, 'Dead Man on Campus', 1998, 'Cohn, Alan'); +insert into movies values (809, 'Left Behind II: Tribulation Force', 2002, 'Corcoran, Bill'); +insert into movies values (810, 'The Matchmaker', 1958, 'Unknown'); +insert into movies values (811, 'The Lawnmower Man', 1992, 'Unknown'); +insert into movies values (812, 'The Saddle Club: Horse Crazy', 2001, 'Unknown'); +insert into movies values (813, 'On Cukor', 2000, 'Unknown'); +insert into movies values (814, 'Ruin Explorers', 2000, 'Unknown'); +insert into movies values (815, 'Tiger Bay', 1934, 'Wills, J. Elder'); +insert into movies values (815, 'Tiger Bay', 1959, 'Lee Thompson, J.'); +insert into movies values (816, 'Marlene Dietrich: Her Own Song', 2001, 'Riva, David'); +insert into movies values (817, 'My Bodyguard', 1980, 'Bill, Tony'); +insert into movies values (818, 'Logan\'s Run', 1976, 'Anderson, Michael'); +insert into movies values (819, 'The Faculty', 1998, 'Unknown'); +insert into movies values (820, 'Predator Island', 2005, 'Castle, Steven Charles'); +insert into movies values (821, 'Slaughter High', 1986, 'Dugdale, George'); +insert into movies values (821, 'Slaughter High', 1986, 'Ezra, Mark'); +insert into movies values (821, 'Slaughter', 1972, 'Starrett, Jack'); +insert into movies values (821, 'Slaughterhouse', 1987, 'Roessler, Rick'); +insert into movies values (821, 'Slaughter, The', 2006, 'Lee, Jay'); +insert into movies values (821, 'Slaughter Disc', 2005, 'Quitmeyer, David'); +insert into movies values (821, 'Slaughter, The', 1913, 'Kaminsky, Avrom Yitskhok'); +insert into movies values (822, 'Star Trek: Enterprise: Season 1', 2001, 'Unknown'); +insert into movies values (823, 'Sleepaway Camp II: Unhappy Campers', 1988, 'Simpson, Michael A.'); +insert into movies values (824, 'A Piece of the Action', 1977, 'Unknown'); +insert into movies values (825, 'Bill Cosby: Himself', 1983, 'Cosby, Bill'); +insert into movies values (826, 'Goosebumps: Cry of the Cat', 1998, 'Unknown'); +insert into movies values (827, 'C\'est La Vie, Mon Cheri', 1994, 'Unknown'); +insert into movies values (828, 'Atlantis', 1913, 'Blom, August'); +insert into movies values (828, 'Atlantis', 1990, 'Defurne, Bavo'); +insert into movies values (828, 'Atlantis', 1930, 'Dupont, Ewald Andre'); +insert into movies values (828, 'Atlantis', 1930, 'Kemm, Jean'); +insert into movies values (828, 'Atlantis', 1991, 'Besson, Luc'); +insert into movies values (829, 'Serial Mom', 1994, 'Waters, John'); +insert into movies values (830, 'Return to a Better Tomorrow', 1994, 'Unknown'); +insert into movies values (831, 'Mannequin, Le', 1909, 'de Morlhon, Camille'); +insert into movies values (831, 'Mannequin', 1934, 'Cooper, George A.'); +insert into movies values (831, 'Mannequin Man', 1988, 'Dennis, Patrick'); +insert into movies values (831, 'Mannequin', 1926, 'Cruze, James'); +insert into movies values (831, 'Mannequins', 1933, 'Hervil, Rene'); +insert into movies values (831, 'Mannequins', 1913, 'Rippert, Otto'); +insert into movies values (831, 'Mannequin', 1937, 'Borzage, Frank'); +insert into movies values (831, 'Mannequin', 1987, 'Gottlieb, Michael'); +insert into movies values (832, 'Tupac: Resurrection', 2003, 'Lazin, Lauren'); +insert into movies values (833, 'White Squall', 1996, 'Scott, Ridley'); +insert into movies values (834, 'Niagara: Miracles, Myths & Magic: IMAX', 1999, 'Unknown'); +insert into movies values (835, 'Cirque du Soleil: A Baroque Odyssey', 1994, 'Unknown'); +insert into movies values (836, 'Incident at Oglala: The Leonard Peltier Story', 1991, 'Unknown'); +insert into movies values (837, 'All in the Family: Season 3', 1972, 'Unknown'); +insert into movies values (838, 'Gang of Roses', 2003, 'La Marre, Jean-Claude'); +insert into movies values (839, 'The Thin Man Goes Home', 1945, 'Unknown'); +insert into movies values (840, 'The Lady Eve', 1941, 'Unknown'); +insert into movies values (841, 'There Goes My Baby', 1994, 'Fisher, Stephen'); +insert into movies values (841, 'There Goes My Baby', 1994, 'Mutrux, Floyd'); +insert into movies values (842, 'Reap the Wild Wind', 1942, 'DeMille, Cecil B.'); +insert into movies values (843, 'Mansfield Park', 1999, 'Rozema, Patricia'); +insert into movies values (843, 'Mansfield Park', 1983, 'Giles, David'); +insert into movies values (844, 'La Cienaga', 2001, 'Unknown'); +insert into movies values (845, 'If We Had No Moon', 2004, 'Unknown'); +insert into movies values (846, 'Enduring Love', 2004, 'Michell, Roger'); +insert into movies values (847, 'Shania Twain: The Platinum Collection', 2001, 'Unknown'); +insert into movies values (848, 'La Separation', 1994, 'Unknown'); +insert into movies values (849, 'Mr. & Mrs. Bridge', 1990, 'Ivory, James'); +insert into movies values (850, 'Stoked: The Rise and Fall of Gator', 2002, 'Stickler, Helen'); +insert into movies values (851, 'Back to the Future Part III', 1990, 'Zemeckis, Robert'); +insert into movies values (852, 'Disorganized Crime', 1989, 'Kouf, Jim'); +insert into movies values (853, 'Dragonball: The Magic Begins', 1993, 'Unknown'); +insert into movies values (854, 'Wes Craven\'s Invitation to Hell', 1984, 'Unknown'); +insert into movies values (855, 'Bruiser, The', 1916, 'Bartlett, Charles'); +insert into movies values (855, 'Bruiser', 2000, 'Romero, George A.'); +insert into movies values (856, 'Devil in the Flesh 2', 2000, 'Unknown'); +insert into movies values (857, 'The Three Stooges Go Around the World in a Daze', 1963, 'Unknown'); +insert into movies values (858, 'Sports Illustrated Swimsuit Edition: 2002', 2002, 'Unknown'); +insert into movies values (859, 'Creepshow', 1982, 'Romero, George A.'); +insert into movies values (859, 'Creepshow 3', 2006, 'Clavell, Ana'); +insert into movies values (859, 'Creepshow 3', 2006, 'Dudelson, James Glenn'); +insert into movies values (859, 'Creepshow 2', 1987, 'Gornick, Michael'); +insert into movies values (860, 'Crime Partners 2000', 2001, 'Smith, J. Jesses'); +insert into movies values (861, 'Rush: Rush in Rio', 2003, 'Unknown'); +insert into movies values (862, 'Tuck Everlasting', 2002, 'Russell, Jay'); +insert into movies values (862, 'Tuck Everlasting', 1981, 'Keller, Frederick King'); +insert into movies values (863, 'King of New York: Special Edition (Full-screen)', 1990, 'Unknown'); +insert into movies values (864, 'Laughing Out Loud: Vol. 1', 2001, 'Unknown'); +insert into movies values (865, 'Elvis by the Presleys', 2005, 'Unknown'); +insert into movies values (866, 'Starsky & Hutch: Season 1', 1975, 'Unknown'); +insert into movies values (867, 'My Dream Girl', 2003, 'Unknown'); +insert into movies values (868, 'La Promesse', 1996, 'Unknown'); +insert into movies values (869, 'Without Limits: NASA Test Projects', 1998, 'Unknown'); +insert into movies values (870, 'H.G. Wells and the War of the Worlds: A Documentary', 2005, 'Unknown'); +insert into movies values (871, 'The Jewel in the Crown', 1984, 'Unknown'); +insert into movies values (872, 'Seven Samurai', 1954, 'Unknown'); +insert into movies values (873, 'Boys Life 4: Four Play', 2003, 'Bartell, Phillip J.'); +insert into movies values (873, 'Boys Life 4: Four Play', 2003, 'Brown, Alan'); +insert into movies values (873, 'Boys Life 4: Four Play', 2003, 'Mueller, Eric'); +insert into movies values (873, 'Boys Life 4: Four Play', 2003, 'Sloan, Brian'); +insert into movies values (874, 'Elvis Costello & the Imposters: Live in Memphis', 2004, 'Unknown'); +insert into movies values (875, 'Zakhm', 1998, 'Bhatt, Mahesh'); +insert into movies values (875, 'Zakhm', 1989, 'Khan, Irfan'); +insert into movies values (875, 'Zakhmi Dil', 1983, 'Shaad, B.S.'); +insert into movies values (875, 'Zakhmi Dil', 1994, 'Subramaniam, Raju'); +insert into movies values (875, 'Zakhmee', 1975, 'Thakur, Raja'); +insert into movies values (876, 'Super Gals', 2001, 'Unknown'); +insert into movies values (877, 'A Love Divided', 1999, 'Unknown'); +insert into movies values (878, 'Short: International Release #2', 2000, 'Unknown'); +insert into movies values (879, 'Mikey and Nicky', 1976, 'May, Elaine'); +insert into movies values (880, 'Sharpe 4: Sharpe\'s Enemy', 1994, 'Unknown'); +insert into movies values (881, 'Mating Habits of the Earthbound Human, The', 1999, 'Abugov, Jeff'); +insert into movies values (882, 'Gloria Estefan: Evolution Tour: Live in Miami', 1996, 'Unknown'); +insert into movies values (883, 'Deep Cover', 1993, 'Enright, Jim'); +insert into movies values (883, 'Deep Cover', 1992, 'Duke, Bill'); +insert into movies values (883, 'Deep Cover', 1996, 'Celozzi, Nicholas'); +insert into movies values (884, 'Cup Final', 1991, 'Unknown'); +insert into movies values (885, 'The Maldonado Miracle', 2003, 'Unknown'); +insert into movies values (886, 'Raymundo', 2002, 'Ardito, Ernesto'); +insert into movies values (886, 'Rayo, El', 1939, 'Buchs, Jose'); +insert into movies values (886, 'Ray', 1999, 'Ghose, Goutam'); +insert into movies values (886, 'Raya', 2004, 'Gonzalez, Bruno Mateo'); +insert into movies values (886, 'Ray', 2004, 'Hackford, Taylor'); +insert into movies values (886, 'Raybang', 2001, 'Jang, Hyeon-su'); +insert into movies values (886, 'Raya, La', 1997, 'Koppel, Andres M.'); +insert into movies values (886, 'XX Ray', 1992, 'M. Osman, Aziz'); +insert into movies values (886, 'XX Ray II', 1995, 'M. Osman, Aziz'); +insert into movies values (886, 'Ray', 2004, 'Mahony, Tony'); +insert into movies values (886, 'Raymie', 1960, 'McDonald, Frank'); +insert into movies values (886, 'Raymundo', 2002, 'Molina, Virna'); +insert into movies values (886, 'Rayon 69', 1981, 'Monnikendam, Vincent'); +insert into movies values (886, 'Raya', 2001, 'Sallies, Zulfah Otto'); +insert into movies values (886, 'Ray', 2003, 'nishi, Satoru'); +insert into movies values (887, 'Monster-in-Law: Bonus Material', 2005, 'Unknown'); +insert into movies values (888, 'Discovering Australia', 2001, 'Unknown'); +insert into movies values (889, 'Reno 911: Season 2', 2004, 'Unknown'); +insert into movies values (890, 'Harsh Realm: The Complete Series', 1999, 'Unknown'); +insert into movies values (891, 'Zakk Wylde\'s Black Label Society: Boozed, Broozed & Broken-Boned', 2003, 'Unknown'); +insert into movies values (892, 'The Bedford Incident', 1965, 'Unknown'); +insert into movies values (893, 'Blue\'s Clues: Classic Clues', 2003, 'Unknown'); +insert into movies values (894, 'The Muse', 1999, 'Unknown'); +insert into movies values (895, 'Dersu Uzala', 1961, 'Babayan, Agasi'); +insert into movies values (895, 'Dersu Uzala', 1975, 'Kurosawa, Akira'); +insert into movies values (896, 'Dangerous Minds', 1995, 'Smith, John N.'); +insert into movies values (897, 'Bride and Prejudice', 2004, 'Unknown'); +insert into movies values (898, 'The Body', 2000, 'Unknown'); +insert into movies values (899, 'Out of Ireland: The Hit Songs and Artists of Irish Music', 2003, 'Unknown'); +insert into movies values (900, 'Eat Drink Man Woman', 1994, 'Unknown'); +insert into movies values (901, 'Diary of a Country Priest', 1950, 'Unknown'); +insert into movies values (902, 'Fascination', 1931, 'Mander, Miles'); +insert into movies values (902, 'Fascination', 2006, 'Hoolboom, Mike'); +insert into movies values (902, 'Fascination', 1922, 'Leonard, Robert Z.'); +insert into movies values (902, 'Fascination', 1980, 'Revene, Larry'); +insert into movies values (902, 'Fascination', 2004, 'Menzel, Klaus'); +insert into movies values (902, 'Fascination', 1979, 'Rollin, Jean'); +insert into movies values (903, 'Hamlet', 1997, 'D\'Amato, Joe'); +insert into movies values (903, 'Hamlet', 1948, 'Olivier, Laurence'); +insert into movies values (903, 'Hamlet', 1908, 'Desfontaines, Henri'); +insert into movies values (903, 'Hamlet', 2002, 'Rose, Anya'); +insert into movies values (903, 'Hamlet', 1975, 'Siqueira, Jose Rubens'); +insert into movies values (903, 'Hamlet', 2005, 'Honert, Max'); +insert into movies values (903, 'Hamlet', 2005, 'Cavanagh, Stephen'); +insert into movies values (903, 'Hamlet', 2003, 'Mundell, Michael'); +insert into movies values (903, 'Hamlet', 2005, 'Clow, Justin'); +insert into movies values (903, 'Hamlet_X', 2003, 'Fritsch, Herbert'); +insert into movies values (903, 'Hamlet', 1990, 'Zeffirelli, Franco'); +insert into movies values (903, 'Hamlet', 1910, 'Barker, William G.B.'); +insert into movies values (903, 'Hamlet', 1910, 'Blom, August'); +insert into movies values (903, 'Hamlet', 1913, 'Plumb, Hay'); +insert into movies values (903, 'Hamlet', 1907, 'Melis, Georges'); +insert into movies values (903, 'Hamlet', 1969, 'Richardson, Tony'); +insert into movies values (903, 'Hamlet', 1915, 'Kellino, W.P.'); +insert into movies values (903, 'Hamlet', 1964, 'Colleran, Bill'); +insert into movies values (903, 'Hamlet', 1964, 'Gielgud, John'); +insert into movies values (903, 'Hamlet', 2004, 'Bargallo, Toni'); +insert into movies values (903, 'Hamlet', 1912, 'Raymond, Charles'); +insert into movies values (903, 'Hamlet', 2007, 'Onir'); +insert into movies values (903, 'Hamlet', 1954, 'Sahu, Kishore'); +insert into movies values (903, 'Hamlet X', 2004, 'Clayden, James'); +insert into movies values (903, 'Hamlet', 1996, 'Branagh, Kenneth'); +insert into movies values (903, 'Hamlet', 1987, 'Kenyon, Roland'); +insert into movies values (903, 'Hamlet', 1987, 'MacDonald, Rod'); +insert into movies values (903, 'Hamlet', 2000, 'Almereyda, Michael'); +insert into movies values (903, 'Hamlet', 1921, 'Gade, Sven'); +insert into movies values (903, 'Hamlet', 1921, 'Schall, Heinz'); +insert into movies values (903, 'Hamlet', 1976, 'Coronada, Celestino'); +insert into movies values (903, 'Hamlet', 1973, 'Bonnire, Rene'); +insert into movies values (903, 'Hamlet', 1973, 'Bush, Stephen'); +insert into movies values (903, 'Hamlet', 1964, 'Papp, Joseph'); +insert into movies values (904, 'Gargoyles', 2004, 'Unknown'); +insert into movies values (905, 'Remedy', 2005, 'Maelen, Christian'); +insert into movies values (906, 'Benny Hill: Complete and Unadulterated: The Naughty Early Years: Set 1', 1969, 'Unknown'); +insert into movies values (907, 'Animal Crackers', 1930, 'Heerman, Victor'); +insert into movies values (907, 'Animal Crackers', 1995, 'Chaiton, Joshua'); +insert into movies values (908, 'Sense and Sensibility', 1995, 'Lee, Ang'); +insert into movies values (909, 'Too Young to Die', 1990, 'Unknown'); +insert into movies values (910, 'Santa Fe Trail, The', 1930, 'Brower, Otto'); +insert into movies values (910, 'Santa Fe Trail, The', 1930, 'Knopf, Edwin H.'); +insert into movies values (910, 'Santa Fe Trail', 1940, 'Curtiz, Michael'); +insert into movies values (910, 'Santa Fe Trail, The', 1923, 'Dearholt, Ashton'); +insert into movies values (910, 'Santa Fe Trail, The', 1923, 'Dillon, Robert'); +insert into movies values (911, 'Buck Rogers', 1977, 'Beebe, Ford'); +insert into movies values (911, 'Buck Rogers', 1977, 'Goodkind, Saul A.'); +insert into movies values (911, 'Buck Rogers', 1939, 'Beebe, Ford'); +insert into movies values (911, 'Buck Rogers', 1939, 'Goodkind, Saul A.'); +insert into movies values (912, 'Angelina Ballerina: Friends Forever', 2002, 'Unknown'); +insert into movies values (913, 'Dead Kennedys: In God We Trust, Inc.', 1979, 'Unknown'); +insert into movies values (914, 'R.E.M.: Road Movie', 1996, 'Unknown'); +insert into movies values (915, 'Haven, The', 2000, 'Bowen, Andrew'); +insert into movies values (915, 'Haven', 1990, 'Dalland, Maria Mac'); +insert into movies values (915, 'Haven', 2004, 'Flowers, Frank E.'); +insert into movies values (915, 'Haven, The', 2002, 'Olsen, Deric'); +insert into movies values (915, 'Haven', 1997, 'Schaefer, Ben'); +insert into movies values (915, 'Haven', 1997, 'Schaeffer, Ben'); +insert into movies values (915, 'Havenblues', 1998, 'Visbeen, Marcel'); +insert into movies values (916, 'Earth 2: The Complete Series', 1994, 'Unknown'); +insert into movies values (917, 'String Cheese Incident: Live at the Fillmore', 2003, 'Unknown'); +insert into movies values (918, 'A Hard Day\'s Night: Collector\'s Series', 1964, 'Unknown'); +insert into movies values (919, 'Comedian', 2002, 'Charles, Christian'); +insert into movies values (919, 'Grim Comedian, The', 1921, 'Lloyd, Frank'); +insert into movies values (920, 'Satanis: The Devil\'s Mass / Sinthia: The Devil\'s Doll: Double Feature', 1968, 'Unknown'); +insert into movies values (921, 'Don\'t Bother to Knock', 1961, 'Frankel, Cyril'); +insert into movies values (921, 'Don\'t Bother to Knock', 1952, 'Baker, Roy Ward'); +insert into movies values (921, 'Don\'t Bother to Knock', 1991, 'Pachard, Henri'); +insert into movies values (922, 'Gojoe: Spirit War Chronicle', 2004, 'Unknown'); +insert into movies values (923, 'Giant Robo', 2004, 'Unknown'); +insert into movies values (924, 'Taxi Zum Klo', 1981, 'Unknown'); +insert into movies values (925, 'Dodsworth', 1936, 'Wyler, William'); +insert into movies values (926, 'Fear Of A Punk Planet', 2002, 'Unknown'); +insert into movies values (927, 'Danielle Steel\'s Changes', 1991, 'Unknown'); +insert into movies values (928, 'The Night That Never Happened', 1997, 'Unknown'); +insert into movies values (929, 'Journeys with George', 2002, 'Lubarsky, Aaron'); +insert into movies values (929, 'Journeys with George', 2002, 'Pelosi, Alexandra'); +insert into movies values (930, 'Back to the Beach', 1987, 'Hobbs, Lyndall'); +insert into movies values (931, 'Another Day in Paradise', 1997, 'Clark, Larry'); +insert into movies values (932, 'Where Are We', 1992, 'Unknown'); +insert into movies values (933, 'Backyardigans: It\'s Great to Be a Ghost', 2005, 'Unknown'); +insert into movies values (934, 'River of No Return', 1954, 'Negulesco, Jean'); +insert into movies values (934, 'River of No Return', 1954, 'Preminger, Otto'); +insert into movies values (934, 'River of No Return', 2005, 'Lapore, Mark'); +insert into movies values (935, 'Read Or Die', 2003, 'Unknown'); +insert into movies values (936, 'A Dangerous Man: Lawrence After Arabia', 1990, 'Unknown'); +insert into movies values (937, 'Fallen', 1998, 'Hoblit, Gregory'); +insert into movies values (937, 'Fallen Snow', 2003, 'Schoenfeld, Nick'); +insert into movies values (937, 'Fallen, The', 2006, 'Portillo, Ralph E.'); +insert into movies values (937, 'Fallen', 2006, 'Albert, Barbara'); +insert into movies values (937, 'Fallen, The', 2004, 'Taub, Ari'); +insert into movies values (937, 'Fallen', 2005, 'Beda, Allison'); +insert into movies values (937, 'Fallen Hero', 2006, 'Sengupta, Partho'); +insert into movies values (937, 'Fallen Star', 2000, 'Byron, Tom'); +insert into movies values (937, 'Fallen', 2004, 'Kaboth, Peter'); +insert into movies values (937, 'Fallen', 2007, 'Kerslake, Kevin'); +insert into movies values (938, 'Scarecrow, The', 1920, 'Cline, Edward F.'); +insert into movies values (938, 'Scarecrow, The', 1920, 'Keaton, Buster'); +insert into movies values (938, 'Scarecrow, The', 1916, 'Birch, Cecil'); +insert into movies values (938, 'Scarecrow', 1973, 'Schatzberg, Jerry'); +insert into movies values (938, 'Scarecrow', 1997, 'Kane, Stephen'); +insert into movies values (938, 'Scarecrows', 1988, 'Wesley, William'); +insert into movies values (938, 'Scarecrow Pump', 1904, 'Porter, Edwin S.'); +insert into movies values (938, 'Scarecrow, The', 2000, 'Nissen, Brian'); +insert into movies values (938, 'Scarecrow, The', 2000, 'Rich, Richard'); +insert into movies values (938, 'Scarecrow', 2002, 'Itier, Emmanuel'); +insert into movies values (938, 'Scarecrow, The', 1982, 'Pillsbury, Sam'); +insert into movies values (939, 'Midsomer Murders: A Tale of Two Hamlets', 2003, 'Unknown'); +insert into movies values (940, 'Hercules', 1997, 'Clements, Ron'); +insert into movies values (940, 'Hercules', 1997, 'Musker, John'); +insert into movies values (940, 'Hercules', 1983, 'Cozzi, Luigi'); +insert into movies values (940, 'Hercules', 1997, 'Hiruma Takashi, Toshiyuki'); +insert into movies values (940, 'Hercules', 1964, 'Shriram'); +insert into movies values (940, 'Hercules', 2002, 'Morgan, Jonathan'); +insert into movies values (941, 'Screw Loose', 1998, 'Unknown'); +insert into movies values (942, 'The Pagemaster', 1994, 'Unknown'); +insert into movies values (943, 'Dave Chappelle: For What It\'s Worth', 2004, 'Unknown'); +insert into movies values (944, 'Brother, Can You Spare a Dime', 1975, 'Mora, Philippe'); +insert into movies values (945, 'The Duel at Silver Creek', 1952, 'Unknown'); +insert into movies values (946, 'Sex and the Teenage Mind', 2002, 'Gold, Don'); +insert into movies values (947, 'The Cincinnati Kid', 1965, 'Unknown'); +insert into movies values (948, 'Aap Mujhe Achche Lagne Lage', 2002, 'Bhatt, Vikram'); +insert into movies values (949, 'Henry Fool', 1997, 'Hartley, Hal'); +insert into movies values (950, 'Explosive Dance', 1998, 'Unknown'); +insert into movies values (951, 'Richard Rodgers: The Sweetest Sounds', 2001, 'Unknown'); +insert into movies values (952, 'My Favorite Wife', 1940, 'Kanin, Garson'); +insert into movies values (953, 'Fahrenheit 451', 1966, 'Truffaut, Franois'); +insert into movies values (953, 'Fahrenheit 451', 2007, 'Darabont, Frank'); +insert into movies values (954, 'I Capture the Castle', 2003, 'Fywell, Tim'); +insert into movies values (955, 'Rhyme & Reason', 1997, 'Spirer, Peter'); +insert into movies values (956, 'Blankman', 1994, 'Binder, Mike'); +insert into movies values (957, 'Lost in Space: Season 2: Vol. 1', 1966, 'Unknown'); +insert into movies values (958, 'World Cup Soccer Highlights: 1966-1974', 2003, 'Unknown'); +insert into movies values (959, 'Jay Jay the Jet Plane: Lessons for All Seasons', 2002, 'Unknown'); +insert into movies values (960, 'The Unforgiven', 1960, 'Unknown'); +insert into movies values (961, 'Love in the Afternoon', 2000, 'Marcano, Sergio'); +insert into movies values (961, 'Love in the Afternoon', 1957, 'Wilder, Billy'); +insert into movies values (962, 'I Spy', 1934, 'Dwan, Allan'); +insert into movies values (962, 'I Spy POV', 2005, 'Fletcher'); +insert into movies values (962, 'I Spy', 2004, 'Lebrun, Herve Joseph'); +insert into movies values (962, 'I Spy', 2002, 'Thomas, Betty'); +insert into movies values (962, 'I Spy', 1999, 'Van Hees, Pieter'); +insert into movies values (963, 'A Streetcar Named Desire', 1951, 'Unknown'); +insert into movies values (964, 'The Tick: The Entire Series', 2001, 'Unknown'); +insert into movies values (965, 'Metropolitan Opera: Puccini: Tosca', 1985, 'Unknown'); +insert into movies values (966, 'Young and Dangerous 2', 1996, 'Unknown'); +insert into movies values (967, 'Main Hoon Na', 2004, 'Khan, Farah'); +insert into movies values (968, 'Dottie Gets Spanked', 1993, 'Unknown'); +insert into movies values (969, 'Stripteaser', 1995, 'Golden, Dan'); +insert into movies values (969, 'Stripteaser II', 1997, 'Ernest, Karl'); +insert into movies values (970, 'Yesterday Once More', 2004, 'Unknown'); +insert into movies values (971, 'Unprecedented: The 2000 Presidential Election', 2002, 'Perez, Richard Ray'); +insert into movies values (971, 'Unprecedented: The 2000 Presidential Election', 2002, 'Sekler, Joan'); +insert into movies values (972, 'Ben Harper: Live at the Hollywood Bowl', 2003, 'Unknown'); +insert into movies values (973, 'Dr. Martin Luther King, Jr.: A Historical Perspective', 1994, 'Friedman, Thomas'); +insert into movies values (974, 'The Devil and Daniel Webster', 1941, 'Unknown'); +insert into movies values (975, 'Convict 762', 1997, 'Bercovici, Luca'); +insert into movies values (976, 'Tom and Jerry: Paws for a Holiday', 2003, 'Unknown'); +insert into movies values (977, 'Our Lady of the Assassins', 2000, 'Unknown'); +insert into movies values (978, 'Yi Yi', 2000, 'Unknown'); +insert into movies values (979, 'A Moment of Romance', 1990, 'Unknown'); +insert into movies values (980, 'The Swan Princess', 1994, 'Unknown'); +insert into movies values (981, 'How I Got into College', 1989, 'Unknown'); +insert into movies values (982, 'Dil Chahta Hai', 2001, 'Akhtar, Farhan'); +insert into movies values (983, 'Wishful Thinking', 2004, 'Bain, Robin'); +insert into movies values (983, 'Wishful Thinking', 1992, 'Craig, Michael'); +insert into movies values (983, 'Wishful Thinking', 1990, 'Langston, Murray'); +insert into movies values (983, 'Wishful Thinking', 1997, 'Park, Adam'); +insert into movies values (984, 'The Young Lions', 1958, 'Unknown'); +insert into movies values (985, 'The Mummy', 1999, 'Unknown'); +insert into movies values (986, 'The Trip', 2002, 'Unknown'); +insert into movies values (987, 'Rescue from Gilligan\'s Island', 1978, 'Unknown'); +insert into movies values (988, 'Operation Pacific', 1951, 'Waggner, George'); +insert into movies values (989, 'The Door in the Floor', 2004, 'Unknown'); +insert into movies values (990, 'Meet John Doe', 1941, 'Capra, Frank'); +insert into movies values (991, 'Burn Up Excess: Vol. 2: Crimes and Missed Demeanors', 1997, 'Unknown'); +insert into movies values (992, 'The Cowboys', 1972, 'Unknown'); +insert into movies values (993, 'The Shadow', 1994, 'Unknown'); +insert into movies values (994, 'Children of the Corn III', 1995, 'Hickox, James D.R.'); +insert into movies values (994, 'Children of the Corn', 1984, 'Kiersch, Fritz'); +insert into movies values (995, 'Dark Town', 2004, 'Scarpone, Desi'); +insert into movies values (996, 'Yojimbo', 1961, 'Kurosawa, Akira'); +insert into movies values (997, 'Miracle of the White Stallions', 1963, 'Hiller, Arthur'); +insert into movies values (998, 'Frida: Bonus Material', 2002, 'Unknown'); +insert into movies values (999, 'The Favor', 1994, 'Unknown'); +insert into movies values (1000, 'Jim Breuer: Hardcore', 2002, 'Unknown'); +create table RATINGS (movie_id int, cust_id int, date varchar, rating int, confidence float); +insert into ratings values (1, 30878, '2005-12-26', 4, 1.0); +insert into ratings values (1, 124105, '2004-08-05', 4, 0.7); +insert into ratings values (1, 124105, '2004-08-05', 5, 0.3); +insert into ratings values (1, 2442, '2004-04-14', 2, 0.1); +insert into ratings values (1, 2442, '2004-04-14', 3, 0.5); +insert into ratings values (1, 2442, '2004-04-14', 4, 0.4); +insert into ratings values (1, 372233, '2005-11-23', 3, 0.3); +insert into ratings values (1, 372233, '2005-11-23', 4, 0.1); +insert into ratings values (1, 372233, '2005-11-23', 5, 0.6); +insert into ratings values (1, 427928, '2004-02-26', 4, 1.0); +insert into ratings values (2, 392722, '2004-12-10', 3, 0.2); +insert into ratings values (2, 392722, '2004-12-10', 4, 0.5); +insert into ratings values (2, 392722, '2004-12-10', 5, 0.3); +insert into ratings values (2, 65932, '2005-07-19', 3, 1.0); +insert into ratings values (2, 494639, '2005-09-26', 2, 1.0); +insert into ratings values (2, 220427, '2005-05-05', 3, 0.3); +insert into ratings values (2, 220427, '2005-05-05', 4, 0.7); +insert into ratings values (2, 69809, '2005-04-08', 4, 0.4); +insert into ratings values (2, 69809, '2005-04-08', 5, 0.6); +insert into ratings values (3, 44937, '2004-06-22', 3, 0.5); +insert into ratings values (3, 44937, '2004-06-22', 4, 0.1); +insert into ratings values (3, 44937, '2004-06-22', 5, 0.4); +insert into ratings values (3, 439011, '2004-01-22', 1, 1.0); +insert into ratings values (3, 115498, '2003-07-16', 2, 0.2); +insert into ratings values (3, 115498, '2003-07-16', 3, 0.6); +insert into ratings values (3, 115498, '2003-07-16', 4, 0.2); +insert into ratings values (3, 66414, '2004-02-21', 3, 0.1); +insert into ratings values (3, 66414, '2004-02-21', 4, 0.4); +insert into ratings values (3, 66414, '2004-02-21', 5, 0.5); +insert into ratings values (3, 67315, '2003-08-25', 4, 0.5); +insert into ratings values (3, 67315, '2003-08-25', 5, 0.5); +insert into ratings values (4, 410199, '2004-10-16', 4, 0.3); +insert into ratings values (4, 410199, '2004-10-16', 5, 0.7); +insert into ratings values (4, 303948, '2004-09-13', 1, 0.2); +insert into ratings values (4, 303948, '2004-09-13', 2, 0.6); +insert into ratings values (4, 303948, '2004-09-13', 3, 0.2); +insert into ratings values (4, 156319, '2005-02-05', 1, 0.1); +insert into ratings values (4, 156319, '2005-02-05', 2, 0.4); +insert into ratings values (4, 156319, '2005-02-05', 3, 0.5); +insert into ratings values (4, 327721, '2004-06-09', 4, 1.0); +insert into ratings values (4, 240779, '2005-04-19', 4, 1.0); +insert into ratings values (5, 30878, '2005-04-27', 1, 0.6); +insert into ratings values (5, 30878, '2005-04-27', 2, 0.2); +insert into ratings values (5, 30878, '2005-04-27', 3, 0.2); +insert into ratings values (5, 264160, '2005-07-12', 4, 0.5); +insert into ratings values (5, 264160, '2005-07-12', 5, 0.5); +insert into ratings values (5, 240705, '2005-04-24', 4, 0.5); +insert into ratings values (5, 240705, '2005-04-24', 5, 0.5); +insert into ratings values (5, 17063, '2005-03-01', 3, 0.1); +insert into ratings values (5, 17063, '2005-03-01', 4, 0.5); +insert into ratings values (5, 17063, '2005-03-01', 5, 0.4); +insert into ratings values (5, 47411, '2005-04-03', 3, 0.3); +insert into ratings values (5, 47411, '2005-04-03', 4, 0.3); +insert into ratings values (5, 47411, '2005-04-03', 5, 0.4); +insert into ratings values (6, 117277, '2004-10-12', 2, 0.3); +insert into ratings values (6, 117277, '2004-10-12', 3, 0.6); +insert into ratings values (6, 117277, '2004-10-12', 4, 0.1); +insert into ratings values (6, 326587, '2004-09-06', 2, 0.3); +insert into ratings values (6, 326587, '2004-09-06', 3, 0.7); +insert into ratings values (6, 214166, '2005-10-09', 1, 0.3); +insert into ratings values (6, 214166, '2005-10-09', 2, 0.6); +insert into ratings values (6, 214166, '2005-10-09', 3, 0.1); +insert into ratings values (6, 161893, '2004-03-11', 4, 1.0); +insert into ratings values (6, 352622, '2005-04-17', 3, 1.0); +insert into ratings values (7, 90021, '2001-05-02', 2, 0.7); +insert into ratings values (7, 90021, '2001-05-02', 3, 0.3); +insert into ratings values (7, 420528, '2005-04-04', 1, 0.6); +insert into ratings values (7, 420528, '2005-04-04', 2, 0.4); +insert into ratings values (7, 420332, '2005-10-29', 1, 0.5); +insert into ratings values (7, 420332, '2005-10-29', 2, 0.5); +insert into ratings values (7, 491531, '2004-12-10', 4, 0.3); +insert into ratings values (7, 491531, '2004-12-10', 5, 0.7); +insert into ratings values (7, 305344, '2003-05-18', 1, 0.3); +insert into ratings values (7, 305344, '2003-05-18', 2, 0.7); +insert into ratings values (8, 243963, '2005-07-15', 3, 1.0); +insert into ratings values (8, 229220, '2005-07-18', 3, 0.5); +insert into ratings values (8, 229220, '2005-07-18', 4, 0.5); +insert into ratings values (8, 56069, '2005-03-23', 5, 1.0); +insert into ratings values (8, 147748, '2005-04-01', 4, 0.6); +insert into ratings values (8, 147748, '2005-04-01', 5, 0.4); +insert into ratings values (8, 110112, '2005-04-13', 3, 1.0); +insert into ratings values (9, 403531, '2004-12-19', 3, 0.1); +insert into ratings values (9, 403531, '2004-12-19', 4, 0.4); +insert into ratings values (9, 403531, '2004-12-19', 5, 0.5); +insert into ratings values (9, 257294, '2005-03-06', 1, 0.4); +insert into ratings values (9, 257294, '2005-03-06', 2, 0.6); +insert into ratings values (9, 235789, '2004-10-27', 4, 1.0); +insert into ratings values (9, 110177, '2005-06-26', 2, 1.0); +insert into ratings values (9, 85747, '2005-08-06', 2, 0.3); +insert into ratings values (9, 85747, '2005-08-06', 3, 0.5); +insert into ratings values (9, 85747, '2005-08-06', 4, 0.2); +insert into ratings values (10, 308618, '2004-12-23', 3, 0.6); +insert into ratings values (10, 308618, '2004-12-23', 4, 0.4); +insert into ratings values (10, 174683, '2003-11-13', 4, 0.4); +insert into ratings values (10, 174683, '2003-11-13', 5, 0.6); +insert into ratings values (10, 57515, '2002-12-18', 3, 1.0); +insert into ratings values (10, 108484, '2004-01-06', 3, 1.0); +insert into ratings values (10, 492899, '2004-10-03', 4, 0.5); +insert into ratings values (10, 492899, '2004-10-03', 5, 0.5); +insert into ratings values (11, 303948, '2004-08-16', 3, 1.0); +insert into ratings values (11, 174683, '2004-02-09', 3, 0.6); +insert into ratings values (11, 174683, '2004-02-09', 4, 0.4); +insert into ratings values (11, 370346, '2005-06-22', 1, 0.5); +insert into ratings values (11, 370346, '2005-06-22', 2, 0.2); +insert into ratings values (11, 370346, '2005-06-22', 3, 0.3); +insert into ratings values (11, 156078, '2004-08-03', 1, 0.5); +insert into ratings values (11, 156078, '2004-08-03', 2, 0.5); +insert into ratings values (11, 87185, '2004-05-02', 2, 1.0); +insert into ratings values (12, 497196, '2004-02-27', 2, 0.4); +insert into ratings values (12, 497196, '2004-02-27', 3, 0.5); +insert into ratings values (12, 497196, '2004-02-27', 4, 0.1); +insert into ratings values (12, 74144, '2005-01-29', 2, 0.2); +insert into ratings values (12, 74144, '2005-01-29', 3, 0.4); +insert into ratings values (12, 74144, '2005-01-29', 4, 0.4); +insert into ratings values (12, 76196, '2001-12-19', 1, 0.6); +insert into ratings values (12, 76196, '2001-12-19', 2, 0.2); +insert into ratings values (12, 76196, '2001-12-19', 3, 0.2); +insert into ratings values (12, 424286, '2002-03-24', 2, 0.4); +insert into ratings values (12, 424286, '2002-03-24', 3, 0.4); +insert into ratings values (12, 424286, '2002-03-24', 4, 0.2); +insert into ratings values (12, 269983, '2004-12-14', 2, 1.0); +insert into ratings values (13, 140274, '2005-09-07', 4, 0.2); +insert into ratings values (13, 140274, '2005-09-07', 5, 0.8); +insert into ratings values (13, 144543, '2005-07-08', 4, 0.7); +insert into ratings values (13, 144543, '2005-07-08', 5, 0.3); +insert into ratings values (13, 80843, '2005-11-04', 5, 1.0); +insert into ratings values (13, 101277, '2005-04-24', 3, 0.2); +insert into ratings values (13, 101277, '2005-04-24', 4, 0.2); +insert into ratings values (13, 101277, '2005-04-24', 5, 0.6); +insert into ratings values (13, 407560, '2005-08-21', 5, 1.0); +insert into ratings values (14, 15294, '2005-01-30', 3, 0.4); +insert into ratings values (14, 15294, '2005-01-30', 4, 0.2); +insert into ratings values (14, 15294, '2005-01-30', 5, 0.4); +insert into ratings values (14, 300074, '2005-07-10', 1, 0.5); +insert into ratings values (14, 300074, '2005-07-10', 2, 0.5); +insert into ratings values (14, 303948, '2005-03-22', 2, 0.3); +insert into ratings values (14, 303948, '2005-03-22', 3, 0.6); +insert into ratings values (14, 303948, '2005-03-22', 4, 0.1); +insert into ratings values (14, 317370, '2005-08-30', 3, 1.0); +insert into ratings values (14, 206141, '2004-04-06', 3, 0.2); +insert into ratings values (14, 206141, '2004-04-06', 4, 0.2); +insert into ratings values (14, 206141, '2004-04-06', 5, 0.6); +insert into ratings values (15, 243437, '2005-01-19', 4, 0.3); +insert into ratings values (15, 243437, '2005-01-19', 5, 0.7); +insert into ratings values (15, 107840, '2000-01-13', 2, 0.3); +insert into ratings values (15, 107840, '2000-01-13', 3, 0.4); +insert into ratings values (15, 107840, '2000-01-13', 4, 0.3); +insert into ratings values (15, 102023, '2005-06-30', 3, 0.3); +insert into ratings values (15, 102023, '2005-06-30', 4, 0.3); +insert into ratings values (15, 102023, '2005-06-30', 5, 0.4); +insert into ratings values (15, 337413, '2005-04-04', 4, 0.3); +insert into ratings values (15, 337413, '2005-04-04', 5, 0.7); +insert into ratings values (15, 205677, '2005-06-28', 3, 0.1); +insert into ratings values (15, 205677, '2005-06-28', 4, 0.6); +insert into ratings values (15, 205677, '2005-06-28', 5, 0.3); +insert into ratings values (16, 400164, '2004-09-06', 3, 0.2); +insert into ratings values (16, 400164, '2004-09-06', 4, 0.5); +insert into ratings values (16, 400164, '2004-09-06', 5, 0.3); +insert into ratings values (16, 175214, '2005-09-04', 2, 0.4); +insert into ratings values (16, 175214, '2005-09-04', 3, 0.4); +insert into ratings values (16, 175214, '2005-09-04', 4, 0.2); +insert into ratings values (16, 130189, '2002-08-19', 3, 1.0); +insert into ratings values (16, 327122, '2004-05-31', 2, 0.8); +insert into ratings values (16, 327122, '2004-05-31', 3, 0.2); +insert into ratings values (16, 429882, '2005-06-25', 2, 0.8); +insert into ratings values (16, 429882, '2005-06-25', 3, 0.2); +insert into ratings values (17, 263315, '2005-07-15', 2, 0.6); +insert into ratings values (17, 263315, '2005-07-15', 3, 0.4); +insert into ratings values (17, 193223, '2005-08-26', 2, 0.5); +insert into ratings values (17, 193223, '2005-08-26', 3, 0.5); +insert into ratings values (17, 97315, '2005-09-02', 2, 0.3); +insert into ratings values (17, 97315, '2005-09-02', 3, 0.5); +insert into ratings values (17, 97315, '2005-09-02', 4, 0.2); +insert into ratings values (17, 180849, '2005-09-26', 2, 0.3); +insert into ratings values (17, 180849, '2005-09-26', 3, 0.4); +insert into ratings values (17, 180849, '2005-09-26', 4, 0.3); +insert into ratings values (17, 492722, '2005-10-03', 4, 0.2); +insert into ratings values (17, 492722, '2005-10-03', 5, 0.8); +insert into ratings values (18, 205706, '2000-03-05', 3, 0.1); +insert into ratings values (18, 205706, '2000-03-05', 4, 0.6); +insert into ratings values (18, 205706, '2000-03-05', 5, 0.3); +insert into ratings values (18, 69867, '2000-01-16', 2, 0.2); +insert into ratings values (18, 69867, '2000-01-16', 3, 0.8); +insert into ratings values (18, 306466, '2001-03-29', 3, 0.2); +insert into ratings values (18, 306466, '2001-03-29', 4, 0.8); +insert into ratings values (18, 383894, '2004-05-09', 3, 1.0); +insert into ratings values (18, 147938, '2004-07-11', 2, 0.5); +insert into ratings values (18, 147938, '2004-07-11', 3, 0.4); +insert into ratings values (18, 147938, '2004-07-11', 4, 0.1); +insert into ratings values (19, 193052, '2003-02-24', 3, 0.3); +insert into ratings values (19, 193052, '2003-02-24', 4, 0.7); +insert into ratings values (19, 65147, '2003-12-20', 3, 0.2); +insert into ratings values (19, 65147, '2003-12-20', 4, 0.6); +insert into ratings values (19, 65147, '2003-12-20', 5, 0.2); +insert into ratings values (19, 179398, '2004-09-29', 3, 1.0); +insert into ratings values (19, 322178, '2005-08-04', 1, 0.6); +insert into ratings values (19, 322178, '2005-08-04', 2, 0.1); +insert into ratings values (19, 322178, '2005-08-04', 3, 0.3); +insert into ratings values (19, 45333, '2003-01-05', 3, 0.5); +insert into ratings values (19, 45333, '2003-01-05', 4, 0.4); +insert into ratings values (19, 45333, '2003-01-05', 5, 0.1); +insert into ratings values (20, 77474, '2005-08-22', 3, 0.3); +insert into ratings values (20, 77474, '2005-08-22', 4, 0.7); +insert into ratings values (20, 457527, '2004-12-06', 3, 0.8); +insert into ratings values (20, 457527, '2004-12-06', 4, 0.2); +insert into ratings values (20, 73858, '2004-07-13', 3, 0.4); +insert into ratings values (20, 73858, '2004-07-13', 4, 0.1); +insert into ratings values (20, 73858, '2004-07-13', 5, 0.5); +insert into ratings values (20, 99847, '2004-11-16', 4, 0.5); +insert into ratings values (20, 99847, '2004-11-16', 5, 0.5); +insert into ratings values (20, 32243, '2004-10-08', 3, 0.2); +insert into ratings values (20, 32243, '2004-10-08', 4, 0.2); +insert into ratings values (20, 32243, '2004-10-08', 5, 0.6); +insert into ratings values (21, 106104, '2004-06-08', 3, 0.5); +insert into ratings values (21, 106104, '2004-06-08', 4, 0.5); +insert into ratings values (21, 93986, '2004-12-17', 1, 0.5); +insert into ratings values (21, 93986, '2004-12-17', 2, 0.2); +insert into ratings values (21, 93986, '2004-12-17', 3, 0.3); +insert into ratings values (21, 436122, '2004-07-18', 3, 0.8); +insert into ratings values (21, 436122, '2004-07-18', 4, 0.2); +insert into ratings values (21, 427369, '2005-08-04', 3, 0.2); +insert into ratings values (21, 427369, '2005-08-04', 4, 0.8); +insert into ratings values (21, 476557, '2005-10-18', 3, 0.2); +insert into ratings values (21, 476557, '2005-10-18', 4, 0.4); +insert into ratings values (21, 476557, '2005-10-18', 5, 0.4); +insert into ratings values (22, 326587, '2004-02-17', 2, 0.4); +insert into ratings values (22, 326587, '2004-02-17', 3, 0.6); +insert into ratings values (22, 332045, '2005-01-09', 2, 1.0); +insert into ratings values (22, 138594, '2004-03-08', 2, 0.5); +insert into ratings values (22, 138594, '2004-03-08', 3, 0.5); +insert into ratings values (22, 72570, '2004-03-12', 1, 0.4); +insert into ratings values (22, 72570, '2004-03-12', 2, 0.5); +insert into ratings values (22, 72570, '2004-03-12', 3, 0.1); +insert into ratings values (22, 187322, '2004-05-21', 1, 0.8); +insert into ratings values (22, 187322, '2004-05-21', 2, 0.2); +insert into ratings values (23, 449337, '2003-06-04', 3, 1.0); +insert into ratings values (23, 335572, '2003-05-13', 3, 0.6); +insert into ratings values (23, 335572, '2003-05-13', 4, 0.4); +insert into ratings values (23, 491331, '2005-04-01', 3, 0.4); +insert into ratings values (23, 491331, '2005-04-01', 4, 0.6); +insert into ratings values (23, 427928, '2004-05-22', 3, 0.6); +insert into ratings values (23, 427928, '2004-05-22', 4, 0.4); +insert into ratings values (23, 311641, '2004-12-12', 2, 0.1); +insert into ratings values (23, 311641, '2004-12-12', 3, 0.6); +insert into ratings values (23, 311641, '2004-12-12', 4, 0.3); +insert into ratings values (24, 247794, '2003-08-24', 2, 0.3); +insert into ratings values (24, 247794, '2003-08-24', 3, 0.6); +insert into ratings values (24, 247794, '2003-08-24', 4, 0.1); +insert into ratings values (24, 461110, '2003-02-28', 2, 0.2); +insert into ratings values (24, 461110, '2003-02-28', 3, 0.5); +insert into ratings values (24, 461110, '2003-02-28', 4, 0.3); +insert into ratings values (24, 409415, '2005-01-04', 3, 1.0); +insert into ratings values (24, 489613, '2005-02-18', 2, 0.1); +insert into ratings values (24, 489613, '2005-02-18', 3, 0.5); +insert into ratings values (24, 489613, '2005-02-18', 4, 0.4); +insert into ratings values (24, 305197, '2005-02-20', 3, 1.0); +insert into ratings values (25, 395100, '2004-08-11', 3, 0.5); +insert into ratings values (25, 395100, '2004-08-11', 4, 0.4); +insert into ratings values (25, 395100, '2004-08-11', 5, 0.1); +insert into ratings values (25, 160977, '2005-05-02', 4, 1.0); +insert into ratings values (25, 10839, '2005-01-19', 2, 0.2); +insert into ratings values (25, 10839, '2005-01-19', 3, 0.8); +insert into ratings values (25, 360830, '2004-07-28', 4, 1.0); +insert into ratings values (25, 222153, '2004-10-24', 3, 1.0); +insert into ratings values (26, 263315, '2004-07-22', 1, 0.1); +insert into ratings values (26, 263315, '2004-07-22', 2, 0.5); +insert into ratings values (26, 263315, '2004-07-22', 3, 0.4); +insert into ratings values (26, 261048, '2004-08-19', 1, 0.3); +insert into ratings values (26, 261048, '2004-08-19', 2, 0.4); +insert into ratings values (26, 261048, '2004-08-19', 3, 0.3); +insert into ratings values (26, 308495, '2004-09-08', 4, 1.0); +insert into ratings values (26, 84691, '2005-01-27', 2, 1.0); +insert into ratings values (26, 135718, '2005-06-22', 4, 0.5); +insert into ratings values (26, 135718, '2005-06-22', 5, 0.5); +insert into ratings values (27, 354278, '2005-06-16', 4, 1.0); +insert into ratings values (27, 385639, '2005-01-19', 2, 0.3); +insert into ratings values (27, 385639, '2005-01-19', 3, 0.6); +insert into ratings values (27, 385639, '2005-01-19', 4, 0.1); +insert into ratings values (27, 115218, '2005-07-28', 5, 1.0); +insert into ratings values (27, 301456, '2005-10-23', 5, 1.0); +insert into ratings values (27, 466269, '2005-04-22', 3, 0.6); +insert into ratings values (27, 466269, '2005-04-22', 4, 0.4); +insert into ratings values (28, 452013, '2003-05-08', 3, 0.8); +insert into ratings values (28, 452013, '2003-05-08', 4, 0.2); +insert into ratings values (28, 132390, '2004-08-09', 4, 1.0); +insert into ratings values (28, 41412, '2003-03-13', 3, 0.6); +insert into ratings values (28, 41412, '2003-03-13', 4, 0.4); +insert into ratings values (28, 160977, '2003-07-28', 4, 0.4); +insert into ratings values (28, 160977, '2003-07-28', 5, 0.6); +insert into ratings values (28, 30878, '2004-08-08', 2, 0.2); +insert into ratings values (28, 30878, '2004-08-08', 3, 0.6); +insert into ratings values (28, 30878, '2004-08-08', 4, 0.2); +insert into ratings values (29, 14690, '2002-11-21', 4, 1.0); +insert into ratings values (29, 419746, '2003-04-12', 4, 0.3); +insert into ratings values (29, 419746, '2003-04-12', 5, 0.7); +insert into ratings values (29, 18956, '2005-04-20', 5, 1.0); +insert into ratings values (29, 436707, '2003-03-10', 4, 0.3); +insert into ratings values (29, 436707, '2003-03-10', 5, 0.7); +insert into ratings values (29, 483077, '2004-11-15', 4, 1.0); +insert into ratings values (30, 306466, '2004-04-02', 3, 1.0); +insert into ratings values (30, 254711, '2005-07-12', 1, 0.6); +insert into ratings values (30, 254711, '2005-07-12', 2, 0.4); +insert into ratings values (30, 388088, '2004-09-07', 3, 0.3); +insert into ratings values (30, 388088, '2004-09-07', 4, 0.5); +insert into ratings values (30, 388088, '2004-09-07', 5, 0.2); +insert into ratings values (30, 120539, '2005-07-16', 4, 0.4); +insert into ratings values (30, 120539, '2005-07-16', 5, 0.6); +insert into ratings values (30, 66568, '2004-04-03', 3, 0.1); +insert into ratings values (30, 66568, '2004-04-03', 4, 0.4); +insert into ratings values (30, 66568, '2004-04-03', 5, 0.5); +insert into ratings values (31, 76196, '2001-12-11', 1, 0.5); +insert into ratings values (31, 76196, '2001-12-11', 2, 0.3); +insert into ratings values (31, 76196, '2001-12-11', 3, 0.2); +insert into ratings values (31, 93349, '2004-12-02', 3, 0.3); +insert into ratings values (31, 93349, '2004-12-02', 4, 0.6); +insert into ratings values (31, 93349, '2004-12-02', 5, 0.1); +insert into ratings values (31, 90798, '2004-02-08', 1, 0.2); +insert into ratings values (31, 90798, '2004-02-08', 2, 0.5); +insert into ratings values (31, 90798, '2004-02-08', 3, 0.3); +insert into ratings values (31, 10289, '2004-04-14', 4, 0.6); +insert into ratings values (31, 10289, '2004-04-14', 5, 0.4); +insert into ratings values (31, 155342, '2003-03-30', 1, 0.6); +insert into ratings values (31, 155342, '2003-03-30', 2, 0.4); +insert into ratings values (32, 122601, '2005-08-14', 3, 0.1); +insert into ratings values (32, 122601, '2005-08-14', 4, 0.3); +insert into ratings values (32, 122601, '2005-08-14', 5, 0.6); +insert into ratings values (32, 217982, '2005-12-24', 3, 0.3); +insert into ratings values (32, 217982, '2005-12-24', 4, 0.7); +insert into ratings values (32, 475218, '2005-08-03', 3, 0.3); +insert into ratings values (32, 475218, '2005-08-03', 4, 0.1); +insert into ratings values (32, 475218, '2005-08-03', 5, 0.6); +insert into ratings values (32, 246133, '2005-08-03', 3, 1.0); +insert into ratings values (32, 465436, '2005-08-16', 2, 0.2); +insert into ratings values (32, 465436, '2005-08-16', 3, 0.6); +insert into ratings values (32, 465436, '2005-08-16', 4, 0.2); +insert into ratings values (33, 282486, '2005-07-12', 3, 1.0); +insert into ratings values (33, 413350, '2005-08-29', 3, 1.0); +insert into ratings values (33, 86767, '2004-04-07', 3, 0.3); +insert into ratings values (33, 86767, '2004-04-07', 4, 0.1); +insert into ratings values (33, 86767, '2004-04-07', 5, 0.6); +insert into ratings values (33, 75971, '2004-10-09', 4, 1.0); +insert into ratings values (33, 229944, '2005-01-30', 3, 0.2); +insert into ratings values (33, 229944, '2005-01-30', 4, 0.4); +insert into ratings values (33, 229944, '2005-01-30', 5, 0.4); +insert into ratings values (34, 259985, '2004-03-30', 1, 0.6); +insert into ratings values (34, 259985, '2004-03-30', 2, 0.3); +insert into ratings values (34, 259985, '2004-03-30', 3, 0.1); +insert into ratings values (34, 362823, '2005-04-24', 2, 0.1); +insert into ratings values (34, 362823, '2005-04-24', 3, 0.6); +insert into ratings values (34, 362823, '2005-04-24', 4, 0.3); +insert into ratings values (34, 163524, '2005-01-07', 1, 0.4); +insert into ratings values (34, 163524, '2005-01-07', 2, 0.6); +insert into ratings values (34, 436473, '2005-07-29', 3, 0.6); +insert into ratings values (34, 436473, '2005-07-29', 4, 0.4); +insert into ratings values (34, 105596, '2005-08-01', 3, 0.4); +insert into ratings values (34, 105596, '2005-08-01', 4, 0.6); +insert into ratings values (35, 282486, '2005-07-06', 1, 0.3); +insert into ratings values (35, 282486, '2005-07-06', 2, 0.4); +insert into ratings values (35, 282486, '2005-07-06', 3, 0.3); +insert into ratings values (35, 209200, '2003-05-28', 4, 0.6); +insert into ratings values (35, 209200, '2003-05-28', 5, 0.4); +insert into ratings values (35, 353820, '2005-07-28', 1, 0.2); +insert into ratings values (35, 353820, '2005-07-28', 2, 0.8); +insert into ratings values (35, 71148, '2004-08-10', 3, 1.0); +insert into ratings values (35, 127010, '2005-08-11', 2, 0.6); +insert into ratings values (35, 127010, '2005-08-11', 3, 0.4); +insert into ratings values (36, 388669, '2005-05-26', 1, 0.2); +insert into ratings values (36, 388669, '2005-05-26', 2, 0.4); +insert into ratings values (36, 388669, '2005-05-26', 3, 0.4); +insert into ratings values (36, 47226, '2005-11-14', 2, 0.2); +insert into ratings values (36, 47226, '2005-11-14', 3, 0.6); +insert into ratings values (36, 47226, '2005-11-14', 4, 0.2); +insert into ratings values (36, 441153, '2004-05-24', 1, 0.6); +insert into ratings values (36, 441153, '2004-05-24', 2, 0.3); +insert into ratings values (36, 441153, '2004-05-24', 3, 0.1); +insert into ratings values (36, 268148, '2004-11-24', 3, 0.3); +insert into ratings values (36, 268148, '2004-11-24', 4, 0.7); +insert into ratings values (36, 269808, '2004-05-09', 4, 0.4); +insert into ratings values (36, 269808, '2004-05-09', 5, 0.6); +insert into ratings values (37, 41412, '2004-09-27', 2, 0.4); +insert into ratings values (37, 41412, '2004-09-27', 3, 0.4); +insert into ratings values (37, 41412, '2004-09-27', 4, 0.2); +insert into ratings values (37, 126998, '2004-09-30', 3, 1.0); +insert into ratings values (37, 353906, '2005-12-31', 2, 0.3); +insert into ratings values (37, 353906, '2005-12-31', 3, 0.5); +insert into ratings values (37, 353906, '2005-12-31', 4, 0.2); +insert into ratings values (37, 12451, '2005-03-02', 3, 0.3); +insert into ratings values (37, 12451, '2005-03-02', 4, 0.6); +insert into ratings values (37, 12451, '2005-03-02', 5, 0.1); +insert into ratings values (37, 47411, '2005-01-19', 5, 1.0); +insert into ratings values (38, 206809, '2004-10-26', 2, 1.0); +insert into ratings values (38, 416556, '2004-04-29', 1, 0.5); +insert into ratings values (38, 416556, '2004-04-29', 2, 0.3); +insert into ratings values (38, 416556, '2004-04-29', 3, 0.2); +insert into ratings values (38, 308618, '2005-07-06', 2, 1.0); +insert into ratings values (38, 157146, '2005-03-25', 3, 0.2); +insert into ratings values (38, 157146, '2005-03-25', 4, 0.5); +insert into ratings values (38, 157146, '2005-03-25', 5, 0.3); +insert into ratings values (38, 183476, '2004-06-11', 3, 1.0); +insert into ratings values (39, 273292, '2002-12-06', 2, 1.0); +insert into ratings values (39, 471569, '2005-01-31', 3, 0.8); +insert into ratings values (39, 471569, '2005-01-31', 4, 0.2); +insert into ratings values (39, 219214, '2004-06-01', 2, 1.0); +insert into ratings values (39, 206809, '2002-12-03', 1, 0.3); +insert into ratings values (39, 206809, '2002-12-03', 2, 0.6); +insert into ratings values (39, 206809, '2002-12-03', 3, 0.1); +insert into ratings values (39, 382281, '2004-11-18', 3, 0.4); +insert into ratings values (39, 382281, '2004-11-18', 4, 0.6); +insert into ratings values (40, 263315, '2005-08-16', 2, 0.3); +insert into ratings values (40, 263315, '2005-08-16', 3, 0.6); +insert into ratings values (40, 263315, '2005-08-16', 4, 0.1); +insert into ratings values (40, 172622, '2005-06-18', 3, 1.0); +insert into ratings values (40, 217004, '2005-11-15', 3, 0.3); +insert into ratings values (40, 217004, '2005-11-15', 4, 0.6); +insert into ratings values (40, 217004, '2005-11-15', 5, 0.1); +insert into ratings values (40, 79017, '2005-08-04', 3, 0.5); +insert into ratings values (40, 79017, '2005-08-04', 4, 0.5); +insert into ratings values (40, 272881, '2005-09-18', 1, 0.1); +insert into ratings values (40, 272881, '2005-09-18', 2, 0.6); +insert into ratings values (40, 272881, '2005-09-18', 3, 0.3); +insert into ratings values (41, 62996, '2001-06-20', 1, 0.5); +insert into ratings values (41, 62996, '2001-06-20', 2, 0.1); +insert into ratings values (41, 62996, '2001-06-20', 3, 0.4); +insert into ratings values (41, 235789, '2004-10-27', 1, 0.2); +insert into ratings values (41, 235789, '2004-10-27', 2, 0.6); +insert into ratings values (41, 235789, '2004-10-27', 3, 0.2); +insert into ratings values (41, 294330, '2004-04-22', 1, 0.6); +insert into ratings values (41, 294330, '2004-04-22', 2, 0.4); +insert into ratings values (41, 421883, '2001-11-14', 1, 0.5); +insert into ratings values (41, 421883, '2001-11-14', 2, 0.3); +insert into ratings values (41, 421883, '2001-11-14', 3, 0.2); +insert into ratings values (41, 406365, '2005-11-18', 1, 0.3); +insert into ratings values (41, 406365, '2005-11-18', 2, 0.4); +insert into ratings values (41, 406365, '2005-11-18', 3, 0.3); +insert into ratings values (42, 425044, '2005-03-09', 3, 0.5); +insert into ratings values (42, 425044, '2005-03-09', 4, 0.5); +insert into ratings values (42, 75549, '2005-06-17', 1, 0.1); +insert into ratings values (42, 75549, '2005-06-17', 2, 0.4); +insert into ratings values (42, 75549, '2005-06-17', 3, 0.5); +insert into ratings values (42, 493009, '2004-03-20', 2, 0.1); +insert into ratings values (42, 493009, '2004-03-20', 3, 0.5); +insert into ratings values (42, 493009, '2004-03-20', 4, 0.4); +insert into ratings values (42, 105221, '2004-07-18', 3, 1.0); +insert into ratings values (42, 382913, '2004-12-16', 1, 0.8); +insert into ratings values (42, 382913, '2004-12-16', 2, 0.2); +insert into ratings values (43, 305151, '2005-02-20', 4, 1.0); +insert into ratings values (43, 497196, '2003-04-13', 3, 1.0); +insert into ratings values (43, 214144, '2005-06-09', 3, 0.2); +insert into ratings values (43, 214144, '2005-06-09', 4, 0.4); +insert into ratings values (43, 214144, '2005-06-09', 5, 0.4); +insert into ratings values (43, 492714, '2002-09-11', 2, 0.4); +insert into ratings values (43, 492714, '2002-09-11', 3, 0.6); +insert into ratings values (43, 468508, '2002-07-29', 4, 0.5); +insert into ratings values (43, 468508, '2002-07-29', 5, 0.5); +insert into ratings values (44, 183907, '2005-08-16', 3, 0.7); +insert into ratings values (44, 183907, '2005-08-16', 4, 0.3); +insert into ratings values (44, 383894, '2004-05-09', 4, 0.6); +insert into ratings values (44, 383894, '2004-05-09', 5, 0.4); +insert into ratings values (44, 30878, '2005-09-04', 4, 0.2); +insert into ratings values (44, 30878, '2005-09-04', 5, 0.8); +insert into ratings values (44, 282391, '2004-10-26', 2, 0.3); +insert into ratings values (44, 282391, '2004-10-26', 3, 0.5); +insert into ratings values (44, 282391, '2004-10-26', 4, 0.2); +insert into ratings values (44, 386143, '2005-10-04', 1, 0.5); +insert into ratings values (44, 386143, '2005-10-04', 2, 0.5); +insert into ratings values (45, 63170, '2001-02-23', 3, 1.0); +insert into ratings values (45, 436529, '2002-12-20', 3, 0.1); +insert into ratings values (45, 436529, '2002-12-20', 4, 0.4); +insert into ratings values (45, 436529, '2002-12-20', 5, 0.5); +insert into ratings values (45, 14690, '2004-09-20', 2, 0.2); +insert into ratings values (45, 14690, '2004-09-20', 3, 0.6); +insert into ratings values (45, 14690, '2004-09-20', 4, 0.2); +insert into ratings values (45, 119287, '2003-10-11', 3, 1.0); +insert into ratings values (45, 397077, '2004-10-04', 3, 1.0); +insert into ratings values (46, 306466, '2001-03-15', 4, 1.0); +insert into ratings values (46, 449288, '2001-03-09', 2, 1.0); +insert into ratings values (46, 276813, '2000-12-31', 3, 1.0); +insert into ratings values (46, 41412, '2001-05-19', 3, 0.2); +insert into ratings values (46, 41412, '2001-05-19', 4, 0.3); +insert into ratings values (46, 41412, '2001-05-19', 5, 0.5); +insert into ratings values (46, 399890, '2002-02-12', 2, 0.2); +insert into ratings values (46, 399890, '2002-02-12', 3, 0.5); +insert into ratings values (46, 399890, '2002-02-12', 4, 0.3); +insert into ratings values (47, 304789, '2003-09-09', 2, 0.5); +insert into ratings values (47, 304789, '2003-09-09', 3, 0.5); +insert into ratings values (47, 14690, '2002-04-20', 3, 0.3); +insert into ratings values (47, 14690, '2002-04-20', 4, 0.6); +insert into ratings values (47, 14690, '2002-04-20', 5, 0.1); +insert into ratings values (47, 247794, '2002-08-16', 1, 0.2); +insert into ratings values (47, 247794, '2002-08-16', 2, 0.6); +insert into ratings values (47, 247794, '2002-08-16', 3, 0.2); +insert into ratings values (47, 76196, '2002-01-29', 4, 1.0); +insert into ratings values (47, 129971, '2003-06-12', 4, 1.0); +insert into ratings values (48, 132390, '2004-06-19', 3, 0.7); +insert into ratings values (48, 132390, '2004-06-19', 4, 0.3); +insert into ratings values (48, 39956, '2003-11-22', 4, 1.0); +insert into ratings values (48, 17382, '2002-06-10', 2, 0.4); +insert into ratings values (48, 17382, '2002-06-10', 3, 0.6); +insert into ratings values (48, 70976, '2004-02-17', 1, 0.4); +insert into ratings values (48, 70976, '2004-02-17', 2, 0.6); +insert into ratings values (48, 481668, '2004-04-13', 4, 0.7); +insert into ratings values (48, 481668, '2004-04-13', 5, 0.3); +insert into ratings values (49, 252468, '2004-05-26', 3, 0.4); +insert into ratings values (49, 252468, '2004-05-26', 4, 0.5); +insert into ratings values (49, 252468, '2004-05-26', 5, 0.1); +insert into ratings values (49, 493940, '2004-04-13', 1, 0.6); +insert into ratings values (49, 493940, '2004-04-13', 2, 0.3); +insert into ratings values (49, 493940, '2004-04-13', 3, 0.1); +insert into ratings values (49, 71020, '2005-05-27', 3, 0.2); +insert into ratings values (49, 71020, '2005-05-27', 4, 0.4); +insert into ratings values (49, 71020, '2005-05-27', 5, 0.4); +insert into ratings values (49, 320468, '2005-11-29', 1, 0.7); +insert into ratings values (49, 320468, '2005-11-29', 2, 0.3); +insert into ratings values (49, 454497, '2004-08-23', 4, 1.0); +insert into ratings values (50, 41412, '2003-07-02', 2, 0.4); +insert into ratings values (50, 41412, '2003-07-02', 3, 0.5); +insert into ratings values (50, 41412, '2003-07-02', 4, 0.1); +insert into ratings values (50, 247794, '2003-02-24', 3, 1.0); +insert into ratings values (50, 370531, '2004-07-26', 4, 1.0); +insert into ratings values (50, 290215, '2003-09-26', 3, 1.0); +insert into ratings values (50, 461435, '2002-04-14', 1, 0.2); +insert into ratings values (50, 461435, '2002-04-14', 2, 0.6); +insert into ratings values (50, 461435, '2002-04-14', 3, 0.2); +insert into ratings values (51, 428170, '2003-06-02', 2, 1.0); +insert into ratings values (51, 358544, '2003-04-07', 3, 0.2); +insert into ratings values (51, 358544, '2003-04-07', 4, 0.8); +insert into ratings values (51, 63286, '2003-04-02', 5, 1.0); +insert into ratings values (51, 420350, '2003-06-07', 3, 0.2); +insert into ratings values (51, 420350, '2003-06-07', 4, 0.3); +insert into ratings values (51, 420350, '2003-06-07', 5, 0.5); +insert into ratings values (51, 119986, '2005-08-06', 4, 0.5); +insert into ratings values (51, 119986, '2005-08-06', 5, 0.5); +insert into ratings values (52, 306466, '2004-11-09', 3, 0.3); +insert into ratings values (52, 306466, '2004-11-09', 4, 0.5); +insert into ratings values (52, 306466, '2004-11-09', 5, 0.2); +insert into ratings values (52, 12379, '2005-02-03', 3, 0.4); +insert into ratings values (52, 12379, '2005-02-03', 4, 0.4); +insert into ratings values (52, 12379, '2005-02-03', 5, 0.2); +insert into ratings values (52, 357521, '2005-04-20', 4, 1.0); +insert into ratings values (52, 480412, '2005-05-12', 3, 0.7); +insert into ratings values (52, 480412, '2005-05-12', 4, 0.3); +insert into ratings values (52, 187961, '2005-07-19', 3, 1.0); +insert into ratings values (53, 52540, '2005-02-02', 3, 0.6); +insert into ratings values (53, 52540, '2005-02-02', 4, 0.4); +insert into ratings values (53, 71288, '2005-06-04', 2, 0.2); +insert into ratings values (53, 71288, '2005-06-04', 3, 0.6); +insert into ratings values (53, 71288, '2005-06-04', 4, 0.2); +insert into ratings values (53, 79236, '2005-03-06', 1, 0.6); +insert into ratings values (53, 79236, '2005-03-06', 2, 0.4); +insert into ratings values (53, 330279, '2004-09-16', 2, 1.0); +insert into ratings values (53, 324547, '2005-05-03', 1, 0.6); +insert into ratings values (53, 324547, '2005-05-03', 2, 0.1); +insert into ratings values (53, 324547, '2005-05-03', 3, 0.3); +insert into ratings values (54, 160650, '2005-12-02', 1, 0.3); +insert into ratings values (54, 160650, '2005-12-02', 2, 0.6); +insert into ratings values (54, 160650, '2005-12-02', 3, 0.1); +insert into ratings values (54, 202667, '2004-09-02', 2, 0.4); +insert into ratings values (54, 202667, '2004-09-02', 3, 0.5); +insert into ratings values (54, 202667, '2004-09-02', 4, 0.1); +insert into ratings values (54, 478176, '2005-03-11', 3, 0.6); +insert into ratings values (54, 478176, '2005-03-11', 4, 0.4); +insert into ratings values (54, 192133, '2005-01-10', 1, 0.3); +insert into ratings values (54, 192133, '2005-01-10', 2, 0.7); +insert into ratings values (54, 238740, '2004-09-18', 2, 0.3); +insert into ratings values (54, 238740, '2004-09-18', 3, 0.7); +insert into ratings values (55, 306466, '2001-05-22', 2, 1.0); +insert into ratings values (55, 471426, '2005-11-03', 1, 1.0); +insert into ratings values (55, 14690, '2000-07-29', 2, 1.0); +insert into ratings values (55, 327122, '2004-10-08', 2, 0.6); +insert into ratings values (55, 327122, '2004-10-08', 3, 0.4); +insert into ratings values (55, 409415, '2005-01-10', 2, 0.3); +insert into ratings values (55, 409415, '2005-01-10', 3, 0.6); +insert into ratings values (55, 409415, '2005-01-10', 4, 0.1); +insert into ratings values (56, 147748, '2004-11-09', 4, 0.5); +insert into ratings values (56, 147748, '2004-11-09', 5, 0.5); +insert into ratings values (56, 148010, '2005-11-24', 4, 0.2); +insert into ratings values (56, 148010, '2005-11-24', 5, 0.8); +insert into ratings values (56, 311271, '2004-10-11', 3, 0.2); +insert into ratings values (56, 311271, '2004-10-11', 4, 0.5); +insert into ratings values (56, 311271, '2004-10-11', 5, 0.3); +insert into ratings values (56, 24344, '2004-11-15', 3, 0.4); +insert into ratings values (56, 24344, '2004-11-15', 4, 0.4); +insert into ratings values (56, 24344, '2004-11-15', 5, 0.2); +insert into ratings values (56, 471569, '2005-01-11', 2, 0.3); +insert into ratings values (56, 471569, '2005-01-11', 3, 0.5); +insert into ratings values (56, 471569, '2005-01-11', 4, 0.2); +insert into ratings values (57, 223752, '2002-05-20', 2, 0.6); +insert into ratings values (57, 223752, '2002-05-20', 3, 0.4); +insert into ratings values (57, 93489, '2004-11-16', 3, 0.5); +insert into ratings values (57, 93489, '2004-11-16', 4, 0.5); +insert into ratings values (57, 390508, '2004-11-19', 3, 0.5); +insert into ratings values (57, 390508, '2004-11-19', 4, 0.5); +insert into ratings values (57, 66358, '2005-05-31', 3, 0.4); +insert into ratings values (57, 66358, '2005-05-31', 4, 0.4); +insert into ratings values (57, 66358, '2005-05-31', 5, 0.2); +insert into ratings values (57, 193223, '2005-10-24', 2, 0.4); +insert into ratings values (57, 193223, '2005-10-24', 3, 0.6); +insert into ratings values (58, 132390, '2004-08-05', 3, 0.1); +insert into ratings values (58, 132390, '2004-08-05', 4, 0.4); +insert into ratings values (58, 132390, '2004-08-05', 5, 0.5); +insert into ratings values (58, 41412, '2004-09-03', 2, 0.2); +insert into ratings values (58, 41412, '2004-09-03', 3, 0.8); +insert into ratings values (58, 175214, '2005-07-21', 1, 0.3); +insert into ratings values (58, 175214, '2005-07-21', 2, 0.6); +insert into ratings values (58, 175214, '2005-07-21', 3, 0.1); +insert into ratings values (58, 122601, '2005-08-17', 3, 0.4); +insert into ratings values (58, 122601, '2005-08-17', 4, 0.6); +insert into ratings values (58, 139297, '2003-12-15', 3, 0.6); +insert into ratings values (58, 139297, '2003-12-15', 4, 0.4); +insert into ratings values (59, 322178, '2005-08-15', 2, 0.1); +insert into ratings values (59, 322178, '2005-08-15', 3, 0.6); +insert into ratings values (59, 322178, '2005-08-15', 4, 0.3); +insert into ratings values (59, 85856, '2004-10-14', 2, 0.2); +insert into ratings values (59, 85856, '2004-10-14', 3, 0.5); +insert into ratings values (59, 85856, '2004-10-14', 4, 0.3); +insert into ratings values (59, 315229, '2005-03-15', 1, 0.2); +insert into ratings values (59, 315229, '2005-03-15', 2, 0.6); +insert into ratings values (59, 315229, '2005-03-15', 3, 0.2); +insert into ratings values (59, 52251, '2005-09-13', 3, 0.6); +insert into ratings values (59, 52251, '2005-09-13', 4, 0.4); +insert into ratings values (59, 322388, '2005-07-15', 1, 1.0); +insert into ratings values (60, 322173, '2005-11-30', 3, 1.0); +insert into ratings values (60, 349528, '2003-11-18', 1, 1.0); +insert into ratings values (60, 155342, '2003-01-21', 1, 0.8); +insert into ratings values (60, 155342, '2003-01-21', 2, 0.2); +insert into ratings values (60, 35797, '2003-11-17', 1, 0.2); +insert into ratings values (60, 35797, '2003-11-17', 2, 0.8); +insert into ratings values (60, 206954, '2004-05-16', 4, 1.0); +insert into ratings values (61, 442234, '2003-05-21', 2, 0.4); +insert into ratings values (61, 442234, '2003-05-21', 3, 0.6); +insert into ratings values (61, 279120, '2000-03-08', 1, 0.3); +insert into ratings values (61, 279120, '2000-03-08', 2, 0.6); +insert into ratings values (61, 279120, '2000-03-08', 3, 0.1); +insert into ratings values (61, 49585, '2003-01-08', 1, 0.6); +insert into ratings values (61, 49585, '2003-01-08', 2, 0.3); +insert into ratings values (61, 49585, '2003-01-08', 3, 0.1); +insert into ratings values (61, 272699, '2000-03-10', 3, 1.0); +insert into ratings values (61, 328223, '2001-10-19', 2, 0.6); +insert into ratings values (61, 328223, '2001-10-19', 3, 0.4); +insert into ratings values (62, 26648, '2005-11-10', 3, 0.4); +insert into ratings values (62, 26648, '2005-11-10', 4, 0.6); +insert into ratings values (62, 404701, '2005-04-22', 2, 0.3); +insert into ratings values (62, 404701, '2005-04-22', 3, 0.4); +insert into ratings values (62, 404701, '2005-04-22', 4, 0.3); +insert into ratings values (62, 183038, '2003-09-11', 2, 0.6); +insert into ratings values (62, 183038, '2003-09-11', 3, 0.4); +insert into ratings values (62, 493082, '2005-10-12', 3, 1.0); +insert into ratings values (62, 257622, '2004-06-16', 3, 1.0); +insert into ratings values (63, 41412, '2004-11-22', 4, 1.0); +insert into ratings values (63, 389078, '2005-07-27', 1, 0.8); +insert into ratings values (63, 389078, '2005-07-27', 2, 0.2); +insert into ratings values (63, 346689, '2005-06-28', 3, 0.1); +insert into ratings values (63, 346689, '2005-06-28', 4, 0.5); +insert into ratings values (63, 346689, '2005-06-28', 5, 0.4); +insert into ratings values (63, 202667, '2005-08-01', 3, 0.6); +insert into ratings values (63, 202667, '2005-08-01', 4, 0.4); +insert into ratings values (63, 259497, '2005-07-13', 2, 0.2); +insert into ratings values (63, 259497, '2005-07-13', 3, 0.4); +insert into ratings values (63, 259497, '2005-07-13', 4, 0.4); +insert into ratings values (64, 166830, '2004-10-25', 1, 0.4); +insert into ratings values (64, 166830, '2004-10-25', 2, 0.4); +insert into ratings values (64, 166830, '2004-10-25', 3, 0.2); +insert into ratings values (64, 68845, '2003-01-04', 1, 0.6); +insert into ratings values (64, 68845, '2003-01-04', 2, 0.4); +insert into ratings values (64, 408459, '2004-06-30', 5, 1.0); +insert into ratings values (64, 425786, '2002-07-10', 2, 0.2); +insert into ratings values (64, 425786, '2002-07-10', 3, 0.5); +insert into ratings values (64, 425786, '2002-07-10', 4, 0.3); +insert into ratings values (64, 13561, '2003-03-26', 1, 0.5); +insert into ratings values (64, 13561, '2003-03-26', 2, 0.5); +insert into ratings values (65, 183476, '2005-10-12', 1, 0.6); +insert into ratings values (65, 183476, '2005-10-12', 2, 0.4); +insert into ratings values (65, 118860, '2005-07-07', 3, 0.4); +insert into ratings values (65, 118860, '2005-07-07', 4, 0.6); +insert into ratings values (65, 333901, '2005-09-16', 1, 0.5); +insert into ratings values (65, 333901, '2005-09-16', 2, 0.5); +insert into ratings values (65, 61807, '2005-10-18', 1, 0.3); +insert into ratings values (65, 61807, '2005-10-18', 2, 0.4); +insert into ratings values (65, 61807, '2005-10-18', 3, 0.3); +insert into ratings values (65, 293284, '2005-02-01', 2, 0.4); +insert into ratings values (65, 293284, '2005-02-01', 3, 0.5); +insert into ratings values (65, 293284, '2005-02-01', 4, 0.1); +insert into ratings values (66, 310856, '2004-08-11', 1, 0.6); +insert into ratings values (66, 310856, '2004-08-11', 2, 0.4); +insert into ratings values (66, 277135, '2005-05-24', 4, 1.0); +insert into ratings values (66, 219903, '2004-08-14', 2, 1.0); +insert into ratings values (66, 354216, '2004-08-11', 2, 0.3); +insert into ratings values (66, 354216, '2004-08-11', 3, 0.7); +insert into ratings values (66, 235789, '2004-10-27', 2, 0.7); +insert into ratings values (66, 235789, '2004-10-27', 3, 0.3); +insert into ratings values (67, 184311, '2000-01-30', 3, 1.0); +insert into ratings values (67, 317060, '2005-10-16', 3, 0.3); +insert into ratings values (67, 317060, '2005-10-16', 4, 0.7); +insert into ratings values (67, 19132, '2004-11-29', 1, 0.6); +insert into ratings values (67, 19132, '2004-11-29', 2, 0.1); +insert into ratings values (67, 19132, '2004-11-29', 3, 0.3); +insert into ratings values (67, 262411, '2003-10-28', 2, 0.4); +insert into ratings values (67, 262411, '2003-10-28', 3, 0.4); +insert into ratings values (67, 262411, '2003-10-28', 4, 0.2); +insert into ratings values (67, 119496, '2004-11-02', 4, 0.4); +insert into ratings values (67, 119496, '2004-11-02', 5, 0.6); +insert into ratings values (68, 116582, '2005-05-28', 3, 0.5); +insert into ratings values (68, 116582, '2005-05-28', 4, 0.1); +insert into ratings values (68, 116582, '2005-05-28', 5, 0.4); +insert into ratings values (68, 180200, '2005-09-06', 4, 0.6); +insert into ratings values (68, 180200, '2005-09-06', 5, 0.4); +insert into ratings values (68, 353820, '2005-07-28', 3, 0.4); +insert into ratings values (68, 353820, '2005-07-28', 4, 0.4); +insert into ratings values (68, 353820, '2005-07-28', 5, 0.2); +insert into ratings values (68, 416956, '2005-01-19', 4, 0.6); +insert into ratings values (68, 416956, '2005-01-19', 5, 0.4); +insert into ratings values (68, 301577, '2005-01-21', 4, 1.0); +insert into ratings values (69, 81608, '2005-06-27', 3, 0.6); +insert into ratings values (69, 81608, '2005-06-27', 4, 0.4); +insert into ratings values (69, 482328, '2005-06-01', 4, 0.6); +insert into ratings values (69, 482328, '2005-06-01', 5, 0.4); +insert into ratings values (69, 266900, '2005-08-06', 3, 0.2); +insert into ratings values (69, 266900, '2005-08-06', 4, 0.2); +insert into ratings values (69, 266900, '2005-08-06', 5, 0.6); +insert into ratings values (69, 495418, '2005-06-30', 3, 0.4); +insert into ratings values (69, 495418, '2005-06-30', 4, 0.6); +insert into ratings values (69, 232421, '2005-07-12', 1, 1.0); +insert into ratings values (70, 279376, '2005-05-21', 3, 1.0); +insert into ratings values (70, 281851, '2005-05-20', 1, 0.6); +insert into ratings values (70, 281851, '2005-05-20', 2, 0.2); +insert into ratings values (70, 281851, '2005-05-20', 3, 0.2); +insert into ratings values (70, 27200, '2002-11-25', 3, 1.0); +insert into ratings values (70, 257294, '2005-11-10', 1, 0.2); +insert into ratings values (70, 257294, '2005-11-10', 2, 0.6); +insert into ratings values (70, 257294, '2005-11-10', 3, 0.2); +insert into ratings values (70, 190286, '2004-07-25', 3, 1.0); +insert into ratings values (71, 419998, '2003-10-16', 3, 0.3); +insert into ratings values (71, 419998, '2003-10-16', 4, 0.5); +insert into ratings values (71, 419998, '2003-10-16', 5, 0.2); +insert into ratings values (71, 215739, '2004-02-05', 3, 1.0); +insert into ratings values (71, 252207, '2004-02-25', 3, 1.0); +insert into ratings values (71, 339487, '2004-04-02', 5, 1.0); +insert into ratings values (71, 375973, '2003-12-03', 4, 0.6); +insert into ratings values (71, 375973, '2003-12-03', 5, 0.4); +insert into ratings values (72, 23244, '2003-12-25', 4, 1.0); +insert into ratings values (72, 402377, '2005-05-08', 5, 1.0); +insert into ratings values (72, 61472, '2003-09-13', 2, 1.0); +insert into ratings values (72, 63471, '2003-07-31', 3, 0.4); +insert into ratings values (72, 63471, '2003-07-31', 4, 0.6); +insert into ratings values (72, 469461, '2002-10-30', 3, 0.2); +insert into ratings values (72, 469461, '2002-10-30', 4, 0.4); +insert into ratings values (72, 469461, '2002-10-30', 5, 0.4); +insert into ratings values (73, 247794, '2005-02-24', 4, 1.0); +insert into ratings values (73, 444983, '2005-06-20', 4, 0.3); +insert into ratings values (73, 444983, '2005-06-20', 5, 0.7); +insert into ratings values (73, 76641, '2005-07-20', 4, 0.6); +insert into ratings values (73, 76641, '2005-07-20', 5, 0.4); +insert into ratings values (73, 327179, '2005-08-10', 3, 0.3); +insert into ratings values (73, 327179, '2005-08-10', 4, 0.5); +insert into ratings values (73, 327179, '2005-08-10', 5, 0.2); +insert into ratings values (73, 268049, '2005-10-20', 2, 1.0); +insert into ratings values (74, 327122, '2005-03-08', 4, 0.6); +insert into ratings values (74, 327122, '2005-03-08', 5, 0.4); +insert into ratings values (74, 497196, '2005-06-09', 1, 0.1); +insert into ratings values (74, 497196, '2005-06-09', 2, 0.4); +insert into ratings values (74, 497196, '2005-06-09', 3, 0.5); +insert into ratings values (74, 360830, '2005-11-23', 2, 0.4); +insert into ratings values (74, 360830, '2005-11-23', 3, 0.4); +insert into ratings values (74, 360830, '2005-11-23', 4, 0.2); +insert into ratings values (74, 322178, '2005-09-18', 1, 0.6); +insert into ratings values (74, 322178, '2005-09-18', 2, 0.4); +insert into ratings values (74, 303948, '2005-10-08', 2, 0.8); +insert into ratings values (74, 303948, '2005-10-08', 3, 0.2); +insert into ratings values (75, 369848, '2003-05-02', 1, 0.7); +insert into ratings values (75, 369848, '2003-05-02', 2, 0.3); +insert into ratings values (75, 431732, '2004-04-25', 1, 0.3); +insert into ratings values (75, 431732, '2004-04-25', 2, 0.5); +insert into ratings values (75, 431732, '2004-04-25', 3, 0.2); +insert into ratings values (75, 339362, '2003-10-25', 3, 1.0); +insert into ratings values (75, 466778, '2003-06-02', 3, 0.3); +insert into ratings values (75, 466778, '2003-06-02', 4, 0.7); +insert into ratings values (75, 376114, '2005-06-05', 4, 1.0); +insert into ratings values (76, 441324, '2005-09-27', 2, 0.4); +insert into ratings values (76, 441324, '2005-09-27', 3, 0.4); +insert into ratings values (76, 441324, '2005-09-27', 4, 0.2); +insert into ratings values (76, 255357, '2005-02-23', 3, 0.4); +insert into ratings values (76, 255357, '2005-02-23', 4, 0.5); +insert into ratings values (76, 255357, '2005-02-23', 5, 0.1); +insert into ratings values (76, 231110, '2005-03-16', 4, 1.0); +insert into ratings values (76, 307505, '2005-08-14', 4, 0.5); +insert into ratings values (76, 307505, '2005-08-14', 5, 0.5); +insert into ratings values (76, 124237, '2005-09-08', 3, 0.4); +insert into ratings values (76, 124237, '2005-09-08', 4, 0.2); +insert into ratings values (76, 124237, '2005-09-08', 5, 0.4); +insert into ratings values (77, 69867, '2000-03-17', 1, 0.8); +insert into ratings values (77, 69867, '2000-03-17', 2, 0.2); +insert into ratings values (77, 306466, '2001-02-27', 1, 0.6); +insert into ratings values (77, 306466, '2001-02-27', 2, 0.1); +insert into ratings values (77, 306466, '2001-02-27', 3, 0.3); +insert into ratings values (77, 66568, '2001-02-03', 2, 1.0); +insert into ratings values (77, 132390, '2001-02-24', 3, 1.0); +insert into ratings values (77, 394693, '2004-02-10', 3, 0.4); +insert into ratings values (77, 394693, '2004-02-10', 4, 0.6); +insert into ratings values (78, 247794, '2002-05-10', 1, 0.4); +insert into ratings values (78, 247794, '2002-05-10', 2, 0.5); +insert into ratings values (78, 247794, '2002-05-10', 3, 0.1); +insert into ratings values (78, 180151, '2001-06-20', 1, 1.0); +insert into ratings values (78, 307910, '2002-11-04', 3, 0.4); +insert into ratings values (78, 307910, '2002-11-04', 4, 0.2); +insert into ratings values (78, 307910, '2002-11-04', 5, 0.4); +insert into ratings values (78, 76196, '2002-02-08', 3, 0.3); +insert into ratings values (78, 76196, '2002-02-08', 4, 0.1); +insert into ratings values (78, 76196, '2002-02-08', 5, 0.6); +insert into ratings values (78, 80507, '2002-07-06', 3, 0.2); +insert into ratings values (78, 80507, '2002-07-06', 4, 0.5); +insert into ratings values (78, 80507, '2002-07-06', 5, 0.3); +insert into ratings values (79, 205706, '2000-02-14', 3, 0.3); +insert into ratings values (79, 205706, '2000-02-14', 4, 0.7); +insert into ratings values (79, 306466, '2002-12-05', 4, 1.0); +insert into ratings values (79, 477388, '2000-10-15', 3, 0.7); +insert into ratings values (79, 477388, '2000-10-15', 4, 0.3); +insert into ratings values (79, 117277, '2005-08-19', 2, 0.2); +insert into ratings values (79, 117277, '2005-08-19', 3, 0.5); +insert into ratings values (79, 117277, '2005-08-19', 4, 0.3); +insert into ratings values (79, 146851, '2004-05-30', 3, 0.3); +insert into ratings values (79, 146851, '2004-05-30', 4, 0.4); +insert into ratings values (79, 146851, '2004-05-30', 5, 0.3); +insert into ratings values (80, 138873, '2004-11-19', 3, 1.0); +insert into ratings values (80, 427561, '2004-09-10', 3, 1.0); +insert into ratings values (80, 44266, '2005-12-14', 4, 1.0); +insert into ratings values (80, 478176, '2005-04-11', 3, 0.5); +insert into ratings values (80, 478176, '2005-04-11', 4, 0.5); +insert into ratings values (80, 266172, '2004-12-16', 2, 0.3); +insert into ratings values (80, 266172, '2004-12-16', 3, 0.5); +insert into ratings values (80, 266172, '2004-12-16', 4, 0.2); +insert into ratings values (81, 33916, '2002-08-28', 3, 0.3); +insert into ratings values (81, 33916, '2002-08-28', 4, 0.6); +insert into ratings values (81, 33916, '2002-08-28', 5, 0.1); +insert into ratings values (81, 175592, '2004-10-08', 3, 0.4); +insert into ratings values (81, 175592, '2004-10-08', 4, 0.5); +insert into ratings values (81, 175592, '2004-10-08', 5, 0.1); +insert into ratings values (81, 30878, '2005-11-28', 3, 1.0); +insert into ratings values (81, 76196, '2001-12-12', 1, 1.0); +insert into ratings values (81, 454077, '2005-01-09', 2, 0.4); +insert into ratings values (81, 454077, '2005-01-09', 3, 0.5); +insert into ratings values (81, 454077, '2005-01-09', 4, 0.1); +insert into ratings values (82, 145212, '2005-07-01', 2, 0.2); +insert into ratings values (82, 145212, '2005-07-01', 3, 0.8); +insert into ratings values (82, 202667, '2005-10-27', 3, 0.3); +insert into ratings values (82, 202667, '2005-10-27', 4, 0.7); +insert into ratings values (82, 284829, '2005-06-14', 3, 0.3); +insert into ratings values (82, 284829, '2005-06-14', 4, 0.7); +insert into ratings values (82, 425908, '2005-11-09', 3, 0.2); +insert into ratings values (82, 425908, '2005-11-09', 4, 0.5); +insert into ratings values (82, 425908, '2005-11-09', 5, 0.3); +insert into ratings values (82, 8043, '2005-07-18', 3, 0.1); +insert into ratings values (82, 8043, '2005-07-18', 4, 0.4); +insert into ratings values (82, 8043, '2005-07-18', 5, 0.5); +insert into ratings values (83, 306466, '2001-11-06', 3, 0.4); +insert into ratings values (83, 306466, '2001-11-06', 4, 0.4); +insert into ratings values (83, 306466, '2001-11-06', 5, 0.2); +insert into ratings values (83, 276813, '2001-10-31', 3, 0.5); +insert into ratings values (83, 276813, '2001-10-31', 4, 0.4); +insert into ratings values (83, 276813, '2001-10-31', 5, 0.1); +insert into ratings values (83, 56069, '2004-03-07', 2, 0.1); +insert into ratings values (83, 56069, '2004-03-07', 3, 0.5); +insert into ratings values (83, 56069, '2004-03-07', 4, 0.4); +insert into ratings values (83, 369430, '2002-09-12', 4, 0.8); +insert into ratings values (83, 369430, '2002-09-12', 5, 0.2); +insert into ratings values (83, 42362, '2004-05-08', 4, 1.0); +insert into ratings values (84, 221033, '2005-08-13', 3, 1.0); +insert into ratings values (84, 242544, '2003-10-11', 4, 1.0); +insert into ratings values (84, 39956, '2003-11-22', 3, 0.3); +insert into ratings values (84, 39956, '2003-11-22', 4, 0.2); +insert into ratings values (84, 39956, '2003-11-22', 5, 0.5); +insert into ratings values (84, 326587, '2002-12-02', 3, 1.0); +insert into ratings values (84, 208356, '2004-01-13', 1, 0.2); +insert into ratings values (84, 208356, '2004-01-13', 2, 0.8); +insert into ratings values (85, 12771, '2005-07-11', 4, 1.0); +insert into ratings values (85, 200255, '2005-08-05', 3, 0.4); +insert into ratings values (85, 200255, '2005-08-05', 4, 0.6); +insert into ratings values (85, 85856, '2005-07-28', 3, 0.4); +insert into ratings values (85, 85856, '2005-07-28', 4, 0.5); +insert into ratings values (85, 85856, '2005-07-28', 5, 0.1); +insert into ratings values (85, 294908, '2005-09-14', 5, 1.0); +insert into ratings values (85, 438290, '2005-05-16', 4, 0.2); +insert into ratings values (85, 438290, '2005-05-16', 5, 0.8); +insert into ratings values (86, 447223, '2004-09-06', 2, 1.0); +insert into ratings values (86, 12451, '2005-05-23', 1, 1.0); +insert into ratings values (86, 47411, '2003-07-09', 3, 1.0); +insert into ratings values (86, 326615, '2004-09-12', 2, 0.1); +insert into ratings values (86, 326615, '2004-09-12', 3, 0.5); +insert into ratings values (86, 326615, '2004-09-12', 4, 0.4); +insert into ratings values (86, 387341, '2004-06-29', 3, 0.5); +insert into ratings values (86, 387341, '2004-06-29', 4, 0.5); +insert into ratings values (87, 431609, '2004-06-04', 5, 1.0); +insert into ratings values (87, 272772, '2004-10-06', 3, 0.2); +insert into ratings values (87, 272772, '2004-10-06', 4, 0.8); +insert into ratings values (87, 491876, '2003-02-27', 5, 1.0); +insert into ratings values (87, 54136, '2004-04-08', 2, 0.1); +insert into ratings values (87, 54136, '2004-04-08', 3, 0.5); +insert into ratings values (87, 54136, '2004-04-08', 4, 0.4); +insert into ratings values (87, 446445, '2005-09-08', 2, 0.3); +insert into ratings values (87, 446445, '2005-09-08', 3, 0.5); +insert into ratings values (87, 446445, '2005-09-08', 4, 0.2); +insert into ratings values (88, 41412, '2004-08-14', 4, 1.0); +insert into ratings values (88, 229944, '2005-10-04', 4, 0.3); +insert into ratings values (88, 229944, '2005-10-04', 5, 0.7); +insert into ratings values (88, 273084, '2004-08-11', 1, 0.6); +insert into ratings values (88, 273084, '2004-08-11', 2, 0.3); +insert into ratings values (88, 273084, '2004-08-11', 3, 0.1); +insert into ratings values (88, 264160, '2005-07-06', 5, 1.0); +insert into ratings values (88, 113677, '2004-02-23', 3, 1.0); +insert into ratings values (89, 166830, '2003-09-16', 1, 0.2); +insert into ratings values (89, 166830, '2003-09-16', 2, 0.6); +insert into ratings values (89, 166830, '2003-09-16', 3, 0.2); +insert into ratings values (89, 339448, '2003-12-03', 3, 1.0); +insert into ratings values (89, 76196, '2001-12-19', 2, 1.0); +insert into ratings values (89, 218097, '2002-11-09', 4, 0.4); +insert into ratings values (89, 218097, '2002-11-09', 5, 0.6); +insert into ratings values (89, 279482, '2004-08-10', 4, 0.8); +insert into ratings values (89, 279482, '2004-08-10', 5, 0.2); +insert into ratings values (90, 76196, '2002-02-02', 2, 0.5); +insert into ratings values (90, 76196, '2002-02-02', 3, 0.5); +insert into ratings values (90, 257592, '2005-04-14', 3, 0.5); +insert into ratings values (90, 257592, '2005-04-14', 4, 0.4); +insert into ratings values (90, 257592, '2005-04-14', 5, 0.1); +insert into ratings values (90, 248039, '2003-08-31', 3, 1.0); +insert into ratings values (90, 303948, '2005-07-14', 3, 0.4); +insert into ratings values (90, 303948, '2005-07-14', 4, 0.6); +insert into ratings values (90, 484675, '2003-08-07', 2, 0.2); +insert into ratings values (90, 484675, '2003-08-07', 3, 0.5); +insert into ratings values (90, 484675, '2003-08-07', 4, 0.3); +insert into ratings values (91, 160876, '2005-06-23', 3, 0.1); +insert into ratings values (91, 160876, '2005-06-23', 4, 0.5); +insert into ratings values (91, 160876, '2005-06-23', 5, 0.4); +insert into ratings values (91, 264160, '2005-08-28', 5, 1.0); +insert into ratings values (91, 17063, '2005-04-08', 5, 1.0); +insert into ratings values (91, 130439, '2005-06-03', 4, 0.2); +insert into ratings values (91, 130439, '2005-06-03', 5, 0.8); +insert into ratings values (91, 161395, '2005-06-16', 3, 0.1); +insert into ratings values (91, 161395, '2005-06-16', 4, 0.5); +insert into ratings values (91, 161395, '2005-06-16', 5, 0.4); +insert into ratings values (92, 240705, '2005-04-24', 5, 1.0); +insert into ratings values (92, 39526, '2004-12-12', 4, 0.7); +insert into ratings values (92, 39526, '2004-12-12', 5, 0.3); +insert into ratings values (92, 314110, '2005-10-10', 3, 0.3); +insert into ratings values (92, 314110, '2005-10-10', 4, 0.1); +insert into ratings values (92, 314110, '2005-10-10', 5, 0.6); +insert into ratings values (92, 405788, '2005-03-25', 1, 0.6); +insert into ratings values (92, 405788, '2005-03-25', 2, 0.1); +insert into ratings values (92, 405788, '2005-03-25', 3, 0.3); +insert into ratings values (92, 479924, '2005-11-18', 4, 0.2); +insert into ratings values (92, 479924, '2005-11-18', 5, 0.8); +insert into ratings values (93, 273084, '2005-12-05', 4, 0.7); +insert into ratings values (93, 273084, '2005-12-05', 5, 0.3); +insert into ratings values (93, 489962, '2005-11-27', 4, 1.0); +insert into ratings values (93, 167540, '2005-08-07', 3, 0.2); +insert into ratings values (93, 167540, '2005-08-07', 4, 0.5); +insert into ratings values (93, 167540, '2005-08-07', 5, 0.3); +insert into ratings values (93, 26648, '2005-09-16', 2, 0.3); +insert into ratings values (93, 26648, '2005-09-16', 3, 0.5); +insert into ratings values (93, 26648, '2005-09-16', 4, 0.2); +insert into ratings values (93, 253094, '2005-11-04', 4, 1.0); +insert into ratings values (94, 115359, '2005-06-04', 3, 0.5); +insert into ratings values (94, 115359, '2005-06-04', 4, 0.5); +insert into ratings values (94, 78014, '2004-12-01', 3, 0.3); +insert into ratings values (94, 78014, '2004-12-01', 4, 0.6); +insert into ratings values (94, 78014, '2004-12-01', 5, 0.1); +insert into ratings values (94, 170023, '2005-01-05', 2, 0.2); +insert into ratings values (94, 170023, '2005-01-05', 3, 0.8); +insert into ratings values (94, 355823, '2005-01-10', 3, 1.0); +insert into ratings values (94, 315915, '2005-03-06', 4, 0.4); +insert into ratings values (94, 315915, '2005-03-06', 5, 0.6); +insert into ratings values (95, 102219, '2003-03-04', 4, 0.5); +insert into ratings values (95, 102219, '2003-03-04', 5, 0.5); +insert into ratings values (95, 471569, '2004-06-08', 2, 1.0); +insert into ratings values (95, 78931, '2005-02-24', 4, 0.4); +insert into ratings values (95, 78931, '2005-02-24', 5, 0.6); +insert into ratings values (95, 206809, '2002-07-04', 2, 0.6); +insert into ratings values (95, 206809, '2002-07-04', 3, 0.4); +insert into ratings values (95, 416556, '2002-07-27', 2, 0.5); +insert into ratings values (95, 416556, '2002-07-27', 3, 0.5); +insert into ratings values (96, 265628, '2005-07-25', 4, 1.0); +insert into ratings values (96, 96262, '2002-03-09', 3, 0.3); +insert into ratings values (96, 96262, '2002-03-09', 4, 0.6); +insert into ratings values (96, 96262, '2002-03-09', 5, 0.1); +insert into ratings values (96, 76196, '2002-01-29', 4, 0.4); +insert into ratings values (96, 76196, '2002-01-29', 5, 0.6); +insert into ratings values (96, 179544, '2003-06-25', 3, 1.0); +insert into ratings values (96, 322178, '2005-05-23', 4, 1.0); +insert into ratings values (97, 290621, '2004-09-03', 4, 0.8); +insert into ratings values (97, 290621, '2004-09-03', 5, 0.2); +insert into ratings values (97, 77120, '2004-03-05', 5, 1.0); +insert into ratings values (97, 44937, '2003-04-07', 3, 1.0); +insert into ratings values (97, 304789, '2003-04-01', 1, 0.1); +insert into ratings values (97, 304789, '2003-04-01', 2, 0.4); +insert into ratings values (97, 304789, '2003-04-01', 3, 0.5); +insert into ratings values (97, 120539, '2005-08-12', 3, 0.3); +insert into ratings values (97, 120539, '2005-08-12', 4, 0.4); +insert into ratings values (97, 120539, '2005-08-12', 5, 0.3); +insert into ratings values (98, 316716, '2005-03-28', 3, 0.3); +insert into ratings values (98, 316716, '2005-03-28', 4, 0.5); +insert into ratings values (98, 316716, '2005-03-28', 5, 0.2); +insert into ratings values (98, 330379, '2005-04-03', 3, 0.4); +insert into ratings values (98, 330379, '2005-04-03', 4, 0.5); +insert into ratings values (98, 330379, '2005-04-03', 5, 0.1); +insert into ratings values (98, 142406, '2005-12-01', 4, 1.0); +insert into ratings values (98, 424883, '2005-10-27', 3, 0.2); +insert into ratings values (98, 424883, '2005-10-27', 4, 0.4); +insert into ratings values (98, 424883, '2005-10-27', 5, 0.4); +insert into ratings values (98, 356801, '2005-09-22', 3, 0.5); +insert into ratings values (98, 356801, '2005-09-22', 4, 0.5); +insert into ratings values (99, 303948, '2005-03-29', 3, 1.0); +insert into ratings values (99, 18103, '2003-02-14', 2, 0.1); +insert into ratings values (99, 18103, '2003-02-14', 3, 0.6); +insert into ratings values (99, 18103, '2003-02-14', 4, 0.3); +insert into ratings values (99, 469461, '2003-04-09', 2, 0.4); +insert into ratings values (99, 469461, '2003-04-09', 3, 0.6); +insert into ratings values (99, 24373, '2003-09-08', 3, 0.6); +insert into ratings values (99, 24373, '2003-09-08', 4, 0.4); +insert into ratings values (99, 322451, '2002-11-12', 1, 0.7); +insert into ratings values (99, 322451, '2002-11-12', 2, 0.3); +insert into ratings values (100, 24373, '2003-05-19', 2, 0.3); +insert into ratings values (100, 24373, '2003-05-19', 3, 0.7); +insert into ratings values (100, 387341, '2004-09-10', 2, 0.1); +insert into ratings values (100, 387341, '2004-09-10', 3, 0.4); +insert into ratings values (100, 387341, '2004-09-10', 4, 0.5); +insert into ratings values (100, 290716, '2004-02-26', 3, 1.0); +insert into ratings values (100, 71594, '2002-03-09', 1, 0.8); +insert into ratings values (100, 71594, '2002-03-09', 2, 0.2); +insert into ratings values (100, 491531, '2002-05-09', 2, 1.0); +insert into ratings values (101, 497196, '2003-11-17', 3, 1.0); +insert into ratings values (101, 21663, '2005-07-06', 2, 0.1); +insert into ratings values (101, 21663, '2005-07-06', 3, 0.5); +insert into ratings values (101, 21663, '2005-07-06', 4, 0.4); +insert into ratings values (101, 42585, '2004-05-19', 2, 1.0); +insert into ratings values (101, 165383, '2005-03-08', 3, 0.1); +insert into ratings values (101, 165383, '2005-03-08', 4, 0.6); +insert into ratings values (101, 165383, '2005-03-08', 5, 0.3); +insert into ratings values (101, 104544, '2003-07-21', 2, 0.3); +insert into ratings values (101, 104544, '2003-07-21', 3, 0.4); +insert into ratings values (101, 104544, '2003-07-21', 4, 0.3); +insert into ratings values (102, 302275, '2005-06-13', 1, 1.0); +insert into ratings values (102, 188414, '2005-06-08', 1, 0.4); +insert into ratings values (102, 188414, '2005-06-08', 2, 0.4); +insert into ratings values (102, 188414, '2005-06-08', 3, 0.2); +insert into ratings values (102, 60303, '2005-07-20', 3, 1.0); +insert into ratings values (102, 489180, '2005-06-22', 1, 0.1); +insert into ratings values (102, 489180, '2005-06-22', 2, 0.6); +insert into ratings values (102, 489180, '2005-06-22', 3, 0.3); +insert into ratings values (102, 53079, '2005-08-02', 1, 0.3); +insert into ratings values (102, 53079, '2005-08-02', 2, 0.4); +insert into ratings values (102, 53079, '2005-08-02', 3, 0.3); +insert into ratings values (103, 18487, '2005-12-18', 4, 1.0); +insert into ratings values (103, 300074, '2005-07-10', 1, 0.5); +insert into ratings values (103, 300074, '2005-07-10', 2, 0.4); +insert into ratings values (103, 300074, '2005-07-10', 3, 0.1); +insert into ratings values (103, 112320, '2005-12-07', 3, 0.1); +insert into ratings values (103, 112320, '2005-12-07', 4, 0.4); +insert into ratings values (103, 112320, '2005-12-07', 5, 0.5); +insert into ratings values (103, 306420, '2005-06-14', 3, 0.2); +insert into ratings values (103, 306420, '2005-06-14', 4, 0.4); +insert into ratings values (103, 306420, '2005-06-14', 5, 0.4); +insert into ratings values (103, 178860, '2005-07-05', 3, 0.8); +insert into ratings values (103, 178860, '2005-07-05', 4, 0.2); +insert into ratings values (104, 139297, '2004-02-20', 3, 1.0); +insert into ratings values (104, 160977, '2005-05-02', 4, 1.0); +insert into ratings values (104, 14690, '2002-12-17', 4, 1.0); +insert into ratings values (104, 105942, '2003-04-24', 4, 0.5); +insert into ratings values (104, 105942, '2003-04-24', 5, 0.5); +insert into ratings values (104, 436529, '2005-03-21', 4, 1.0); +insert into ratings values (105, 234517, '2004-10-12', 2, 0.5); +insert into ratings values (105, 234517, '2004-10-12', 3, 0.5); +insert into ratings values (105, 18360, '2004-09-07', 2, 0.6); +insert into ratings values (105, 18360, '2004-09-07', 3, 0.4); +insert into ratings values (105, 212212, '2005-09-20', 3, 0.5); +insert into ratings values (105, 212212, '2005-09-20', 4, 0.1); +insert into ratings values (105, 212212, '2005-09-20', 5, 0.4); +insert into ratings values (105, 279607, '2005-07-25', 3, 0.2); +insert into ratings values (105, 279607, '2005-07-25', 4, 0.6); +insert into ratings values (105, 279607, '2005-07-25', 5, 0.2); +insert into ratings values (105, 492853, '2005-08-18', 3, 0.2); +insert into ratings values (105, 492853, '2005-08-18', 4, 0.6); +insert into ratings values (105, 492853, '2005-08-18', 5, 0.2); +insert into ratings values (106, 461259, '2005-03-28', 5, 1.0); +insert into ratings values (106, 17184, '2005-03-27', 4, 1.0); +insert into ratings values (106, 200255, '2005-07-23', 4, 0.6); +insert into ratings values (106, 200255, '2005-07-23', 5, 0.4); +insert into ratings values (106, 78014, '2005-06-21', 3, 0.2); +insert into ratings values (106, 78014, '2005-06-21', 4, 0.6); +insert into ratings values (106, 78014, '2005-06-21', 5, 0.2); +insert into ratings values (106, 157763, '2005-10-13', 3, 0.4); +insert into ratings values (106, 157763, '2005-10-13', 4, 0.6); +insert into ratings values (107, 306466, '2001-10-19', 1, 0.1); +insert into ratings values (107, 306466, '2001-10-19', 2, 0.4); +insert into ratings values (107, 306466, '2001-10-19', 3, 0.5); +insert into ratings values (107, 146851, '2004-12-03', 4, 0.2); +insert into ratings values (107, 146851, '2004-12-03', 5, 0.8); +insert into ratings values (107, 232549, '2004-10-13', 3, 0.5); +insert into ratings values (107, 232549, '2004-10-13', 4, 0.5); +insert into ratings values (107, 37188, '2004-01-16', 3, 1.0); +insert into ratings values (107, 213183, '2003-10-17', 3, 0.5); +insert into ratings values (107, 213183, '2003-10-17', 4, 0.5); +insert into ratings values (108, 364518, '2004-08-15', 2, 0.5); +insert into ratings values (108, 364518, '2004-08-15', 3, 0.4); +insert into ratings values (108, 364518, '2004-08-15', 4, 0.1); +insert into ratings values (108, 306466, '2004-08-09', 2, 1.0); +insert into ratings values (108, 66568, '2004-08-09', 4, 0.4); +insert into ratings values (108, 66568, '2004-08-09', 5, 0.6); +insert into ratings values (108, 132390, '2004-07-19', 2, 0.6); +insert into ratings values (108, 132390, '2004-07-19', 3, 0.4); +insert into ratings values (108, 25382, '2004-07-02', 3, 0.3); +insert into ratings values (108, 25382, '2004-07-02', 4, 0.7); +insert into ratings values (109, 41412, '2004-11-26', 1, 0.4); +insert into ratings values (109, 41412, '2004-11-26', 2, 0.5); +insert into ratings values (109, 41412, '2004-11-26', 3, 0.1); +insert into ratings values (109, 105603, '2004-06-27', 1, 0.4); +insert into ratings values (109, 105603, '2004-06-27', 2, 0.6); +insert into ratings values (109, 320770, '2001-04-07', 3, 0.1); +insert into ratings values (109, 320770, '2001-04-07', 4, 0.5); +insert into ratings values (109, 320770, '2001-04-07', 5, 0.4); +insert into ratings values (109, 152178, '2003-10-29', 3, 0.6); +insert into ratings values (109, 152178, '2003-10-29', 4, 0.4); +insert into ratings values (109, 371300, '2004-06-17', 3, 0.5); +insert into ratings values (109, 371300, '2004-06-17', 4, 0.4); +insert into ratings values (109, 371300, '2004-06-17', 5, 0.1); +insert into ratings values (110, 466862, '2005-06-03', 2, 0.4); +insert into ratings values (110, 466862, '2005-06-03', 3, 0.6); +insert into ratings values (110, 247794, '2002-09-09', 2, 0.1); +insert into ratings values (110, 247794, '2002-09-09', 3, 0.6); +insert into ratings values (110, 247794, '2002-09-09', 4, 0.3); +insert into ratings values (110, 326587, '2003-05-10', 4, 1.0); +insert into ratings values (110, 105942, '2004-01-21', 3, 0.4); +insert into ratings values (110, 105942, '2004-01-21', 4, 0.6); +insert into ratings values (110, 461110, '2003-03-11', 2, 0.3); +insert into ratings values (110, 461110, '2003-03-11', 3, 0.6); +insert into ratings values (110, 461110, '2003-03-11', 4, 0.1); +insert into ratings values (111, 276813, '2004-09-10', 3, 1.0); +insert into ratings values (111, 66568, '2004-07-09', 2, 0.1); +insert into ratings values (111, 66568, '2004-07-09', 3, 0.6); +insert into ratings values (111, 66568, '2004-07-09', 4, 0.3); +insert into ratings values (111, 193498, '2004-05-26', 4, 0.6); +insert into ratings values (111, 193498, '2004-05-26', 5, 0.4); +insert into ratings values (111, 347403, '2004-04-20', 1, 0.2); +insert into ratings values (111, 347403, '2004-04-20', 2, 0.8); +insert into ratings values (111, 394693, '2004-04-18', 2, 0.3); +insert into ratings values (111, 394693, '2004-04-18', 3, 0.6); +insert into ratings values (111, 394693, '2004-04-18', 4, 0.1); +insert into ratings values (112, 64663, '2003-09-30', 2, 0.3); +insert into ratings values (112, 64663, '2003-09-30', 3, 0.7); +insert into ratings values (112, 487105, '2003-12-18', 2, 0.2); +insert into ratings values (112, 487105, '2003-12-18', 3, 0.4); +insert into ratings values (112, 487105, '2003-12-18', 4, 0.4); +insert into ratings values (112, 155342, '2003-03-30', 1, 1.0); +insert into ratings values (112, 31829, '2004-10-01', 2, 0.2); +insert into ratings values (112, 31829, '2004-10-01', 3, 0.5); +insert into ratings values (112, 31829, '2004-10-01', 4, 0.3); +insert into ratings values (112, 59913, '2004-06-14', 3, 1.0); +insert into ratings values (113, 132390, '2004-04-15', 3, 1.0); +insert into ratings values (113, 146851, '2004-08-24', 3, 1.0); +insert into ratings values (113, 205345, '2005-09-07', 5, 1.0); +insert into ratings values (113, 166595, '2002-05-30', 3, 0.4); +insert into ratings values (113, 166595, '2002-05-30', 4, 0.6); +insert into ratings values (113, 461110, '2004-08-21', 4, 0.4); +insert into ratings values (113, 461110, '2004-08-21', 5, 0.6); +insert into ratings values (114, 247794, '2004-03-02', 4, 1.0); +insert into ratings values (114, 149439, '2004-06-26', 3, 1.0); +insert into ratings values (114, 310856, '2004-09-08', 3, 0.3); +insert into ratings values (114, 310856, '2004-09-08', 4, 0.2); +insert into ratings values (114, 310856, '2004-09-08', 5, 0.5); +insert into ratings values (114, 327179, '2005-07-20', 5, 1.0); +insert into ratings values (114, 200255, '2003-06-12', 2, 0.6); +insert into ratings values (114, 200255, '2003-06-12', 3, 0.4); +insert into ratings values (115, 146200, '2004-05-11', 2, 0.6); +insert into ratings values (115, 146200, '2004-05-11', 3, 0.4); +insert into ratings values (115, 433803, '2005-10-21', 5, 1.0); +insert into ratings values (115, 231110, '2005-03-16', 1, 1.0); +insert into ratings values (115, 222153, '2004-03-16', 3, 0.3); +insert into ratings values (115, 222153, '2004-03-16', 4, 0.7); +insert into ratings values (115, 163830, '2004-03-30', 3, 1.0); +insert into ratings values (116, 314837, '2005-08-03', 4, 1.0); +insert into ratings values (116, 56069, '2005-10-01', 3, 1.0); +insert into ratings values (116, 273292, '2005-11-15', 1, 0.3); +insert into ratings values (116, 273292, '2005-11-15', 2, 0.5); +insert into ratings values (116, 273292, '2005-11-15', 3, 0.2); +insert into ratings values (116, 42883, '2005-10-07', 3, 0.2); +insert into ratings values (116, 42883, '2005-10-07', 4, 0.6); +insert into ratings values (116, 42883, '2005-10-07', 5, 0.2); +insert into ratings values (116, 16651, '2005-08-22', 3, 0.4); +insert into ratings values (116, 16651, '2005-08-22', 4, 0.5); +insert into ratings values (116, 16651, '2005-08-22', 5, 0.1); +insert into ratings values (117, 181725, '2005-03-08', 5, 1.0); +insert into ratings values (117, 433803, '2005-04-07', 4, 1.0); +insert into ratings values (117, 269983, '2004-11-03', 3, 0.4); +insert into ratings values (117, 269983, '2004-11-03', 4, 0.6); +insert into ratings values (117, 227042, '2005-08-12', 3, 0.4); +insert into ratings values (117, 227042, '2005-08-12', 4, 0.5); +insert into ratings values (117, 227042, '2005-08-12', 5, 0.1); +insert into ratings values (117, 160563, '2004-10-19', 1, 0.4); +insert into ratings values (117, 160563, '2004-10-19', 2, 0.4); +insert into ratings values (117, 160563, '2004-10-19', 3, 0.2); +insert into ratings values (118, 175214, '2005-07-20', 4, 1.0); +insert into ratings values (118, 122601, '2005-08-17', 2, 0.3); +insert into ratings values (118, 122601, '2005-08-17', 3, 0.6); +insert into ratings values (118, 122601, '2005-08-17', 4, 0.1); +insert into ratings values (118, 66187, '2005-08-23', 2, 1.0); +insert into ratings values (118, 394693, '2004-12-19', 4, 1.0); +insert into ratings values (118, 178131, '2004-12-26', 3, 0.1); +insert into ratings values (118, 178131, '2004-12-26', 4, 0.5); +insert into ratings values (118, 178131, '2004-12-26', 5, 0.4); +insert into ratings values (119, 76196, '2003-08-08', 3, 0.2); +insert into ratings values (119, 76196, '2003-08-08', 4, 0.4); +insert into ratings values (119, 76196, '2003-08-08', 5, 0.4); +insert into ratings values (119, 445828, '2004-08-15', 2, 1.0); +insert into ratings values (119, 413637, '2003-11-04', 4, 1.0); +insert into ratings values (119, 155342, '2003-03-30', 1, 0.6); +insert into ratings values (119, 155342, '2003-03-30', 2, 0.1); +insert into ratings values (119, 155342, '2003-03-30', 3, 0.3); +insert into ratings values (119, 95997, '2005-10-08', 3, 1.0); +insert into ratings values (120, 418316, '2004-05-24', 3, 1.0); +insert into ratings values (120, 360787, '2005-08-03', 5, 1.0); +insert into ratings values (120, 429281, '2005-08-30', 3, 0.6); +insert into ratings values (120, 429281, '2005-08-30', 4, 0.4); +insert into ratings values (120, 429038, '2004-11-11', 1, 0.1); +insert into ratings values (120, 429038, '2004-11-11', 2, 0.4); +insert into ratings values (120, 429038, '2004-11-11', 3, 0.5); +insert into ratings values (120, 230683, '2005-04-23', 3, 0.8); +insert into ratings values (120, 230683, '2005-04-23', 4, 0.2); +insert into ratings values (121, 160948, '2005-04-17', 5, 1.0); +insert into ratings values (121, 10397, '2005-05-09', 1, 0.3); +insert into ratings values (121, 10397, '2005-05-09', 2, 0.6); +insert into ratings values (121, 10397, '2005-05-09', 3, 0.1); +insert into ratings values (121, 42667, '2005-06-30', 4, 1.0); +insert into ratings values (121, 175331, '2005-05-16', 3, 0.2); +insert into ratings values (121, 175331, '2005-05-16', 4, 0.4); +insert into ratings values (121, 175331, '2005-05-16', 5, 0.4); +insert into ratings values (121, 197720, '2005-05-31', 4, 1.0); +insert into ratings values (122, 306466, '2003-07-15', 1, 0.5); +insert into ratings values (122, 306466, '2003-07-15', 2, 0.5); +insert into ratings values (122, 132468, '2003-08-17', 2, 0.4); +insert into ratings values (122, 132468, '2003-08-17', 3, 0.6); +insert into ratings values (122, 86062, '2005-06-11', 3, 0.5); +insert into ratings values (122, 86062, '2005-06-11', 4, 0.5); +insert into ratings values (122, 247794, '2003-05-07', 2, 0.5); +insert into ratings values (122, 247794, '2003-05-07', 3, 0.5); +insert into ratings values (122, 68845, '2003-07-03', 2, 0.1); +insert into ratings values (122, 68845, '2003-07-03', 3, 0.5); +insert into ratings values (122, 68845, '2003-07-03', 4, 0.4); +insert into ratings values (123, 288489, '2005-03-18', 3, 0.5); +insert into ratings values (123, 288489, '2005-03-18', 4, 0.5); +insert into ratings values (123, 125447, '2005-11-28', 2, 0.4); +insert into ratings values (123, 125447, '2005-11-28', 3, 0.6); +insert into ratings values (123, 175961, '2005-06-13', 3, 0.6); +insert into ratings values (123, 175961, '2005-06-13', 4, 0.4); +insert into ratings values (123, 35511, '2005-02-28', 2, 0.2); +insert into ratings values (123, 35511, '2005-02-28', 3, 0.8); +insert into ratings values (123, 43530, '2005-04-27', 2, 0.4); +insert into ratings values (123, 43530, '2005-04-27', 3, 0.6); +insert into ratings values (124, 68845, '2002-04-01', 2, 0.5); +insert into ratings values (124, 68845, '2002-04-01', 3, 0.5); +insert into ratings values (124, 349975, '2002-05-14', 3, 1.0); +insert into ratings values (124, 261663, '2004-01-26', 2, 1.0); +insert into ratings values (124, 83071, '2003-07-26', 2, 0.4); +insert into ratings values (124, 83071, '2003-07-26', 3, 0.4); +insert into ratings values (124, 83071, '2003-07-26', 4, 0.2); +insert into ratings values (124, 296609, '2002-01-05', 1, 0.3); +insert into ratings values (124, 296609, '2002-01-05', 2, 0.7); +insert into ratings values (125, 146851, '2004-07-31', 1, 1.0); +insert into ratings values (125, 139297, '2005-05-03', 3, 0.4); +insert into ratings values (125, 139297, '2005-05-03', 4, 0.6); +insert into ratings values (125, 218097, '2005-08-01', 3, 0.2); +insert into ratings values (125, 218097, '2005-08-01', 4, 0.5); +insert into ratings values (125, 218097, '2005-08-01', 5, 0.3); +insert into ratings values (125, 482592, '2005-06-23', 3, 0.1); +insert into ratings values (125, 482592, '2005-06-23', 4, 0.5); +insert into ratings values (125, 482592, '2005-06-23', 5, 0.4); +insert into ratings values (125, 164532, '2005-01-05', 4, 0.6); +insert into ratings values (125, 164532, '2005-01-05', 5, 0.4); +insert into ratings values (126, 310002, '2005-09-06', 1, 1.0); +insert into ratings values (126, 439931, '2004-05-25', 4, 1.0); +insert into ratings values (126, 249052, '2004-06-01', 4, 0.2); +insert into ratings values (126, 249052, '2004-06-01', 5, 0.8); +insert into ratings values (126, 68845, '2004-06-28', 3, 1.0); +insert into ratings values (126, 497196, '2004-03-16', 1, 0.1); +insert into ratings values (126, 497196, '2004-03-16', 2, 0.5); +insert into ratings values (126, 497196, '2004-03-16', 3, 0.4); +insert into ratings values (127, 53679, '2005-07-08', 2, 0.2); +insert into ratings values (127, 53679, '2005-07-08', 3, 0.6); +insert into ratings values (127, 53679, '2005-07-08', 4, 0.2); +insert into ratings values (127, 193498, '2003-10-26', 3, 0.2); +insert into ratings values (127, 193498, '2003-10-26', 4, 0.6); +insert into ratings values (127, 193498, '2003-10-26', 5, 0.2); +insert into ratings values (127, 339448, '2003-09-27', 1, 0.3); +insert into ratings values (127, 339448, '2003-09-27', 2, 0.4); +insert into ratings values (127, 339448, '2003-09-27', 3, 0.3); +insert into ratings values (127, 14690, '2003-09-09', 2, 0.2); +insert into ratings values (127, 14690, '2003-09-09', 3, 0.4); +insert into ratings values (127, 14690, '2003-09-09', 4, 0.4); +insert into ratings values (127, 293901, '2004-01-06', 3, 0.2); +insert into ratings values (127, 293901, '2004-01-06', 4, 0.5); +insert into ratings values (127, 293901, '2004-01-06', 5, 0.3); +insert into ratings values (128, 247794, '2000-10-06', 3, 1.0); +insert into ratings values (128, 68845, '2005-10-09', 3, 1.0); +insert into ratings values (128, 76196, '2001-12-06', 1, 0.6); +insert into ratings values (128, 76196, '2001-12-06', 2, 0.1); +insert into ratings values (128, 76196, '2001-12-06', 3, 0.3); +insert into ratings values (128, 317060, '2005-09-27', 3, 0.3); +insert into ratings values (128, 317060, '2005-09-27', 4, 0.3); +insert into ratings values (128, 317060, '2005-09-27', 5, 0.4); +insert into ratings values (128, 332152, '2005-03-07', 2, 0.2); +insert into ratings values (128, 332152, '2005-03-07', 3, 0.4); +insert into ratings values (128, 332152, '2005-03-07', 4, 0.4); +insert into ratings values (129, 249052, '2005-11-12', 5, 1.0); +insert into ratings values (129, 68845, '2003-06-25', 1, 0.1); +insert into ratings values (129, 68845, '2003-06-25', 2, 0.4); +insert into ratings values (129, 68845, '2003-06-25', 3, 0.5); +insert into ratings values (129, 129798, '2003-06-08', 2, 0.6); +insert into ratings values (129, 129798, '2003-06-08', 3, 0.4); +insert into ratings values (129, 462231, '2004-03-30', 2, 1.0); +insert into ratings values (129, 278074, '2003-11-28', 1, 1.0); +insert into ratings values (130, 325332, '2003-04-02', 3, 0.4); +insert into ratings values (130, 325332, '2003-04-02', 4, 0.6); +insert into ratings values (130, 325844, '2005-08-22', 2, 1.0); +insert into ratings values (130, 426971, '2002-02-10', 1, 0.6); +insert into ratings values (130, 426971, '2002-02-10', 2, 0.4); +insert into ratings values (130, 481312, '2004-01-21', 1, 0.2); +insert into ratings values (130, 481312, '2004-01-21', 2, 0.4); +insert into ratings values (130, 481312, '2004-01-21', 3, 0.4); +insert into ratings values (130, 176977, '2003-10-16', 1, 0.2); +insert into ratings values (130, 176977, '2003-10-16', 2, 0.6); +insert into ratings values (130, 176977, '2003-10-16', 3, 0.2); +insert into ratings values (131, 146200, '2005-02-21', 3, 0.1); +insert into ratings values (131, 146200, '2005-02-21', 4, 0.5); +insert into ratings values (131, 146200, '2005-02-21', 5, 0.4); +insert into ratings values (131, 249052, '2005-10-22', 3, 0.3); +insert into ratings values (131, 249052, '2005-10-22', 4, 0.2); +insert into ratings values (131, 249052, '2005-10-22', 5, 0.5); +insert into ratings values (131, 129798, '2002-08-15', 3, 0.5); +insert into ratings values (131, 129798, '2002-08-15', 4, 0.5); +insert into ratings values (131, 397157, '2003-05-12', 2, 0.1); +insert into ratings values (131, 397157, '2003-05-12', 3, 0.6); +insert into ratings values (131, 397157, '2003-05-12', 4, 0.3); +insert into ratings values (131, 403531, '2003-11-16', 1, 0.6); +insert into ratings values (131, 403531, '2003-11-16', 2, 0.2); +insert into ratings values (131, 403531, '2003-11-16', 3, 0.2); +insert into ratings values (132, 146200, '2005-06-11', 1, 1.0); +insert into ratings values (132, 403531, '2003-11-16', 5, 1.0); +insert into ratings values (132, 157521, '2005-04-08', 5, 1.0); +insert into ratings values (132, 332152, '2005-04-19', 4, 1.0); +insert into ratings values (132, 47411, '2003-07-05', 5, 1.0); +insert into ratings values (133, 395744, '2005-08-13', 1, 0.6); +insert into ratings values (133, 395744, '2005-08-13', 2, 0.4); +insert into ratings values (133, 35208, '2005-04-08', 4, 0.3); +insert into ratings values (133, 35208, '2005-04-08', 5, 0.7); +insert into ratings values (133, 101470, '2005-06-09', 3, 0.4); +insert into ratings values (133, 101470, '2005-06-09', 4, 0.6); +insert into ratings values (133, 196853, '2004-12-08', 4, 0.5); +insert into ratings values (133, 196853, '2004-12-08', 5, 0.5); +insert into ratings values (133, 202810, '2005-07-05', 3, 0.1); +insert into ratings values (133, 202810, '2005-07-05', 4, 0.5); +insert into ratings values (133, 202810, '2005-07-05', 5, 0.4); +insert into ratings values (134, 300417, '2004-06-28', 3, 0.6); +insert into ratings values (134, 300417, '2004-06-28', 4, 0.4); +insert into ratings values (134, 288819, '2003-02-14', 1, 0.6); +insert into ratings values (134, 288819, '2003-02-14', 2, 0.2); +insert into ratings values (134, 288819, '2003-02-14', 3, 0.2); +insert into ratings values (134, 425990, '2003-04-07', 1, 0.6); +insert into ratings values (134, 425990, '2003-04-07', 2, 0.3); +insert into ratings values (134, 425990, '2003-04-07', 3, 0.1); +insert into ratings values (134, 235789, '2004-10-27', 3, 0.1); +insert into ratings values (134, 235789, '2004-10-27', 4, 0.6); +insert into ratings values (134, 235789, '2004-10-27', 5, 0.3); +insert into ratings values (134, 177558, '2004-09-28', 2, 1.0); +insert into ratings values (135, 229944, '2005-02-23', 4, 0.3); +insert into ratings values (135, 229944, '2005-02-23', 5, 0.7); +insert into ratings values (135, 497196, '2005-06-13', 2, 1.0); +insert into ratings values (135, 95090, '2004-12-06', 3, 0.2); +insert into ratings values (135, 95090, '2004-12-06', 4, 0.8); +insert into ratings values (135, 303948, '2005-01-04', 4, 1.0); +insert into ratings values (135, 165383, '2005-03-08', 5, 1.0); +insert into ratings values (136, 69779, '2003-10-13', 3, 1.0); +insert into ratings values (136, 273939, '2005-07-11', 4, 1.0); +insert into ratings values (136, 258894, '2005-09-19', 3, 0.4); +insert into ratings values (136, 258894, '2005-09-19', 4, 0.5); +insert into ratings values (136, 258894, '2005-09-19', 5, 0.1); +insert into ratings values (136, 137418, '2005-08-07', 1, 1.0); +insert into ratings values (136, 276589, '2000-02-03', 3, 1.0); +insert into ratings values (137, 322173, '2005-06-21', 3, 1.0); +insert into ratings values (137, 496173, '2004-10-08', 1, 1.0); +insert into ratings values (137, 494455, '2005-03-15', 1, 0.5); +insert into ratings values (137, 494455, '2005-03-15', 2, 0.5); +insert into ratings values (137, 98850, '2005-09-26', 2, 0.5); +insert into ratings values (137, 98850, '2005-09-26', 3, 0.5); +insert into ratings values (137, 312038, '2004-11-22', 1, 0.5); +insert into ratings values (137, 312038, '2004-11-22', 2, 0.5); +insert into ratings values (138, 306466, '2004-07-26', 3, 0.2); +insert into ratings values (138, 306466, '2004-07-26', 4, 0.8); +insert into ratings values (138, 333490, '2005-07-18', 1, 0.6); +insert into ratings values (138, 333490, '2005-07-18', 2, 0.4); +insert into ratings values (138, 50996, '2005-08-17', 5, 1.0); +insert into ratings values (138, 139297, '2004-08-16', 2, 0.4); +insert into ratings values (138, 139297, '2004-08-16', 3, 0.4); +insert into ratings values (138, 139297, '2004-08-16', 4, 0.2); +insert into ratings values (138, 231140, '2004-11-18', 3, 0.1); +insert into ratings values (138, 231140, '2004-11-18', 4, 0.3); +insert into ratings values (138, 231140, '2004-11-18', 5, 0.6); +insert into ratings values (139, 162348, '2004-01-26', 2, 0.1); +insert into ratings values (139, 162348, '2004-01-26', 3, 0.4); +insert into ratings values (139, 162348, '2004-01-26', 4, 0.5); +insert into ratings values (139, 155342, '2003-03-30', 1, 1.0); +insert into ratings values (139, 282525, '2002-04-26', 4, 1.0); +insert into ratings values (139, 62906, '2003-04-22', 3, 1.0); +insert into ratings values (139, 223379, '2004-02-28', 2, 1.0); +insert into ratings values (140, 263315, '2005-07-20', 1, 0.4); +insert into ratings values (140, 263315, '2005-07-20', 2, 0.5); +insert into ratings values (140, 263315, '2005-07-20', 3, 0.1); +insert into ratings values (140, 45333, '2005-09-17', 3, 1.0); +insert into ratings values (140, 61472, '2005-07-15', 1, 0.2); +insert into ratings values (140, 61472, '2005-07-15', 2, 0.6); +insert into ratings values (140, 61472, '2005-07-15', 3, 0.2); +insert into ratings values (140, 241634, '2005-08-28', 3, 1.0); +insert into ratings values (140, 247846, '2005-06-11', 1, 0.5); +insert into ratings values (140, 247846, '2005-06-11', 2, 0.5); +insert into ratings values (141, 497196, '2004-08-19', 3, 0.7); +insert into ratings values (141, 497196, '2004-08-19', 4, 0.3); +insert into ratings values (141, 315229, '2005-06-29', 2, 0.6); +insert into ratings values (141, 315229, '2005-06-29', 3, 0.4); +insert into ratings values (141, 184039, '2005-08-31', 2, 0.1); +insert into ratings values (141, 184039, '2005-08-31', 3, 0.6); +insert into ratings values (141, 184039, '2005-08-31', 4, 0.3); +insert into ratings values (141, 451464, '2004-08-24', 2, 0.6); +insert into ratings values (141, 451464, '2004-08-24', 3, 0.4); +insert into ratings values (141, 476110, '2005-12-08', 3, 1.0); +insert into ratings values (142, 497196, '2003-04-13', 2, 0.6); +insert into ratings values (142, 497196, '2003-04-13', 3, 0.4); +insert into ratings values (142, 192061, '2005-01-10', 2, 1.0); +insert into ratings values (142, 76196, '2002-01-09', 1, 1.0); +insert into ratings values (142, 217850, '2005-10-15', 2, 0.6); +insert into ratings values (142, 217850, '2005-10-15', 3, 0.4); +insert into ratings values (142, 303948, '2005-01-19', 2, 0.2); +insert into ratings values (142, 303948, '2005-01-19', 3, 0.8); +insert into ratings values (143, 169485, '2005-07-08', 4, 0.4); +insert into ratings values (143, 169485, '2005-07-08', 5, 0.6); +insert into ratings values (143, 193223, '2005-07-09', 3, 0.2); +insert into ratings values (143, 193223, '2005-07-09', 4, 0.6); +insert into ratings values (143, 193223, '2005-07-09', 5, 0.2); +insert into ratings values (143, 69867, '2000-08-26', 4, 0.5); +insert into ratings values (143, 69867, '2000-08-26', 5, 0.5); +insert into ratings values (143, 306466, '2001-03-15', 1, 0.3); +insert into ratings values (143, 306466, '2001-03-15', 2, 0.6); +insert into ratings values (143, 306466, '2001-03-15', 3, 0.1); +insert into ratings values (143, 477388, '2001-04-10', 4, 0.4); +insert into ratings values (143, 477388, '2001-04-10', 5, 0.6); +insert into ratings values (144, 315356, '2005-01-19', 2, 0.3); +insert into ratings values (144, 315356, '2005-01-19', 3, 0.4); +insert into ratings values (144, 315356, '2005-01-19', 4, 0.3); +insert into ratings values (144, 46036, '2004-08-21', 2, 0.3); +insert into ratings values (144, 46036, '2004-08-21', 3, 0.6); +insert into ratings values (144, 46036, '2004-08-21', 4, 0.1); +insert into ratings values (144, 269853, '2004-09-22', 4, 0.3); +insert into ratings values (144, 269853, '2004-09-22', 5, 0.7); +insert into ratings values (144, 60630, '2005-08-14', 1, 0.5); +insert into ratings values (144, 60630, '2005-08-14', 2, 0.1); +insert into ratings values (144, 60630, '2005-08-14', 3, 0.4); +insert into ratings values (144, 395860, '2005-01-26', 3, 0.1); +insert into ratings values (144, 395860, '2005-01-26', 4, 0.6); +insert into ratings values (144, 395860, '2005-01-26', 5, 0.3); +insert into ratings values (145, 73441, '2003-11-05', 3, 0.1); +insert into ratings values (145, 73441, '2003-11-05', 4, 0.4); +insert into ratings values (145, 73441, '2003-11-05', 5, 0.5); +insert into ratings values (145, 64663, '2003-10-21', 3, 0.5); +insert into ratings values (145, 64663, '2003-10-21', 4, 0.5); +insert into ratings values (145, 138873, '2004-12-21', 4, 1.0); +insert into ratings values (145, 445828, '2004-01-19', 1, 0.5); +insert into ratings values (145, 445828, '2004-01-19', 2, 0.5); +insert into ratings values (145, 153249, '2003-12-13', 5, 1.0); +insert into ratings values (146, 361407, '2002-06-24', 3, 0.4); +insert into ratings values (146, 361407, '2002-06-24', 4, 0.5); +insert into ratings values (146, 361407, '2002-06-24', 5, 0.1); +insert into ratings values (146, 39526, '2005-04-11', 2, 1.0); +insert into ratings values (146, 264021, '2005-08-28', 3, 0.3); +insert into ratings values (146, 264021, '2005-08-28', 4, 0.2); +insert into ratings values (146, 264021, '2005-08-28', 5, 0.5); +insert into ratings values (146, 496173, '2004-04-18', 1, 0.5); +insert into ratings values (146, 496173, '2004-04-18', 2, 0.5); +insert into ratings values (146, 106062, '2005-01-02', 4, 1.0); +insert into ratings values (147, 442234, '2003-04-15', 2, 1.0); +insert into ratings values (147, 363163, '2003-04-01', 4, 1.0); +insert into ratings values (147, 373435, '2004-11-29', 3, 0.7); +insert into ratings values (147, 373435, '2004-11-29', 4, 0.3); +insert into ratings values (147, 447282, '2005-05-18', 3, 1.0); +insert into ratings values (147, 243514, '2003-07-21', 1, 0.4); +insert into ratings values (147, 243514, '2003-07-21', 2, 0.5); +insert into ratings values (147, 243514, '2003-07-21', 3, 0.1); +insert into ratings values (148, 77471, '2001-10-03', 1, 1.0); +insert into ratings values (148, 389606, '2003-11-25', 1, 0.6); +insert into ratings values (148, 389606, '2003-11-25', 2, 0.2); +insert into ratings values (148, 389606, '2003-11-25', 3, 0.2); +insert into ratings values (148, 492722, '2004-03-06', 3, 0.4); +insert into ratings values (148, 492722, '2004-03-06', 4, 0.1); +insert into ratings values (148, 492722, '2004-03-06', 5, 0.5); +insert into ratings values (148, 496735, '2004-08-14', 3, 0.6); +insert into ratings values (148, 496735, '2004-08-14', 4, 0.4); +insert into ratings values (148, 383894, '2004-07-28', 2, 0.2); +insert into ratings values (148, 383894, '2004-07-28', 3, 0.6); +insert into ratings values (148, 383894, '2004-07-28', 4, 0.2); +insert into ratings values (149, 300074, '2005-07-10', 1, 1.0); +insert into ratings values (149, 192048, '2005-08-16', 2, 0.1); +insert into ratings values (149, 192048, '2005-08-16', 3, 0.4); +insert into ratings values (149, 192048, '2005-08-16', 4, 0.5); +insert into ratings values (149, 319499, '2005-07-12', 1, 1.0); +insert into ratings values (149, 234155, '2005-08-09', 2, 0.4); +insert into ratings values (149, 234155, '2005-08-09', 3, 0.4); +insert into ratings values (149, 234155, '2005-08-09', 4, 0.2); +insert into ratings values (149, 447162, '2005-09-23', 2, 1.0); +insert into ratings values (150, 204011, '2003-03-11', 1, 0.3); +insert into ratings values (150, 204011, '2003-03-11', 2, 0.4); +insert into ratings values (150, 204011, '2003-03-11', 3, 0.3); +insert into ratings values (150, 363824, '2005-03-20', 4, 0.3); +insert into ratings values (150, 363824, '2005-03-20', 5, 0.7); +insert into ratings values (150, 347434, '2005-10-15', 4, 1.0); +insert into ratings values (150, 487949, '2004-07-21', 3, 1.0); +insert into ratings values (150, 286346, '2004-11-22', 1, 0.5); +insert into ratings values (150, 286346, '2004-11-22', 2, 0.5); +insert into ratings values (151, 249052, '2005-07-27', 3, 0.4); +insert into ratings values (151, 249052, '2005-07-27', 4, 0.2); +insert into ratings values (151, 249052, '2005-07-27', 5, 0.4); +insert into ratings values (151, 428204, '2005-08-04', 1, 1.0); +insert into ratings values (151, 257294, '2005-07-15', 1, 0.8); +insert into ratings values (151, 257294, '2005-07-15', 2, 0.2); +insert into ratings values (151, 84705, '2005-08-18', 1, 0.3); +insert into ratings values (151, 84705, '2005-08-18', 2, 0.5); +insert into ratings values (151, 84705, '2005-08-18', 3, 0.2); +insert into ratings values (151, 71288, '2005-08-01', 3, 1.0); +insert into ratings values (152, 33916, '2002-10-28', 4, 0.5); +insert into ratings values (152, 33916, '2002-10-28', 5, 0.5); +insert into ratings values (152, 121910, '2005-08-09', 2, 0.1); +insert into ratings values (152, 121910, '2005-08-09', 3, 0.6); +insert into ratings values (152, 121910, '2005-08-09', 4, 0.3); +insert into ratings values (152, 231140, '2004-11-16', 3, 0.1); +insert into ratings values (152, 231140, '2004-11-16', 4, 0.6); +insert into ratings values (152, 231140, '2004-11-16', 5, 0.3); +insert into ratings values (152, 442739, '2005-01-05', 3, 0.2); +insert into ratings values (152, 442739, '2005-01-05', 4, 0.5); +insert into ratings values (152, 442739, '2005-01-05', 5, 0.3); +insert into ratings values (152, 163175, '2005-05-25', 2, 0.1); +insert into ratings values (152, 163175, '2005-05-25', 3, 0.5); +insert into ratings values (152, 163175, '2005-05-25', 4, 0.4); +insert into ratings values (153, 259985, '2003-01-14', 1, 0.5); +insert into ratings values (153, 259985, '2003-01-14', 2, 0.5); +insert into ratings values (153, 78986, '2003-07-08', 2, 0.4); +insert into ratings values (153, 78986, '2003-07-08', 3, 0.5); +insert into ratings values (153, 78986, '2003-07-08', 4, 0.1); +insert into ratings values (153, 27200, '2002-12-10', 2, 1.0); +insert into ratings values (153, 36857, '2004-02-17', 3, 0.3); +insert into ratings values (153, 36857, '2004-02-17', 4, 0.4); +insert into ratings values (153, 36857, '2004-02-17', 5, 0.3); +insert into ratings values (153, 209549, '2004-01-27', 3, 0.3); +insert into ratings values (153, 209549, '2004-01-27', 4, 0.6); +insert into ratings values (153, 209549, '2004-01-27', 5, 0.1); +insert into ratings values (154, 278526, '2005-08-29', 3, 1.0); +insert into ratings values (154, 313872, '2005-08-05', 1, 0.4); +insert into ratings values (154, 313872, '2005-08-05', 2, 0.4); +insert into ratings values (154, 313872, '2005-08-05', 3, 0.2); +insert into ratings values (154, 344712, '2005-08-07', 1, 0.1); +insert into ratings values (154, 344712, '2005-08-07', 2, 0.6); +insert into ratings values (154, 344712, '2005-08-07', 3, 0.3); +insert into ratings values (154, 153204, '2005-07-07', 2, 0.3); +insert into ratings values (154, 153204, '2005-07-07', 3, 0.5); +insert into ratings values (154, 153204, '2005-07-07', 4, 0.2); +insert into ratings values (154, 294908, '2005-10-02', 1, 1.0); +insert into ratings values (155, 180849, '2005-04-27', 4, 1.0); +insert into ratings values (155, 16066, '2005-06-01', 4, 0.5); +insert into ratings values (155, 16066, '2005-06-01', 5, 0.5); +insert into ratings values (155, 259713, '2005-05-18', 4, 0.6); +insert into ratings values (155, 259713, '2005-05-18', 5, 0.4); +insert into ratings values (155, 360830, '2005-10-05', 2, 0.5); +insert into ratings values (155, 360830, '2005-10-05', 3, 0.5); +insert into ratings values (155, 303948, '2004-12-15', 5, 1.0); +insert into ratings values (156, 56069, '2004-05-25', 4, 0.8); +insert into ratings values (156, 56069, '2004-05-25', 5, 0.2); +insert into ratings values (156, 369430, '2004-01-28', 3, 0.1); +insert into ratings values (156, 369430, '2004-01-28', 4, 0.5); +insert into ratings values (156, 369430, '2004-01-28', 5, 0.4); +insert into ratings values (156, 426397, '2003-06-24', 2, 0.2); +insert into ratings values (156, 426397, '2003-06-24', 3, 0.8); +insert into ratings values (156, 238407, '2003-09-19', 3, 1.0); +insert into ratings values (156, 244820, '2005-08-18', 3, 0.1); +insert into ratings values (156, 244820, '2005-08-18', 4, 0.3); +insert into ratings values (156, 244820, '2005-08-18', 5, 0.6); +insert into ratings values (157, 163546, '2005-07-13', 2, 0.4); +insert into ratings values (157, 163546, '2005-07-13', 3, 0.6); +insert into ratings values (157, 461110, '2004-06-02', 1, 0.5); +insert into ratings values (157, 461110, '2004-06-02', 2, 0.4); +insert into ratings values (157, 461110, '2004-06-02', 3, 0.1); +insert into ratings values (157, 495312, '2005-09-22', 4, 0.5); +insert into ratings values (157, 495312, '2005-09-22', 5, 0.5); +insert into ratings values (157, 227469, '2004-11-23', 2, 0.3); +insert into ratings values (157, 227469, '2004-11-23', 3, 0.6); +insert into ratings values (157, 227469, '2004-11-23', 4, 0.1); +insert into ratings values (157, 44734, '2004-08-10', 2, 0.7); +insert into ratings values (157, 44734, '2004-08-10', 3, 0.3); +insert into ratings values (158, 263315, '2005-07-18', 2, 0.5); +insert into ratings values (158, 263315, '2005-07-18', 3, 0.5); +insert into ratings values (158, 471879, '2005-07-29', 3, 0.1); +insert into ratings values (158, 471879, '2005-07-29', 4, 0.6); +insert into ratings values (158, 471879, '2005-07-29', 5, 0.3); +insert into ratings values (158, 486963, '2005-06-18', 4, 1.0); +insert into ratings values (158, 471414, '2005-08-03', 2, 0.3); +insert into ratings values (158, 471414, '2005-08-03', 3, 0.6); +insert into ratings values (158, 471414, '2005-08-03', 4, 0.1); +insert into ratings values (158, 237410, '2005-06-25', 3, 0.6); +insert into ratings values (158, 237410, '2005-06-25', 4, 0.4); +insert into ratings values (159, 154049, '2005-02-14', 3, 1.0); +insert into ratings values (159, 402377, '2005-04-30', 5, 1.0); +insert into ratings values (159, 343999, '2004-03-21', 3, 1.0); +insert into ratings values (159, 469461, '2003-10-30', 5, 1.0); +insert into ratings values (159, 180296, '2004-03-19', 3, 0.2); +insert into ratings values (159, 180296, '2004-03-19', 4, 0.8); +insert into ratings values (160, 160977, '2004-04-28', 3, 0.6); +insert into ratings values (160, 160977, '2004-04-28', 4, 0.4); +insert into ratings values (160, 497196, '2003-11-03', 1, 1.0); +insert into ratings values (160, 301920, '2004-04-28', 1, 0.5); +insert into ratings values (160, 301920, '2004-04-28', 2, 0.4); +insert into ratings values (160, 301920, '2004-04-28', 3, 0.1); +insert into ratings values (160, 3561, '2004-03-23', 1, 0.7); +insert into ratings values (160, 3561, '2004-03-23', 2, 0.3); +insert into ratings values (160, 46679, '2004-04-28', 2, 1.0); +insert into ratings values (161, 497196, '2005-09-23', 4, 0.7); +insert into ratings values (161, 497196, '2005-09-23', 5, 0.3); +insert into ratings values (161, 92056, '2005-08-24', 4, 0.4); +insert into ratings values (161, 92056, '2005-08-24', 5, 0.6); +insert into ratings values (161, 255357, '2005-09-09', 3, 1.0); +insert into ratings values (161, 83540, '2005-08-02', 3, 1.0); +insert into ratings values (161, 61166, '2005-11-14', 3, 0.2); +insert into ratings values (161, 61166, '2005-11-14', 4, 0.4); +insert into ratings values (161, 61166, '2005-11-14', 5, 0.4); +insert into ratings values (162, 79519, '2005-08-15', 1, 0.5); +insert into ratings values (162, 79519, '2005-08-15', 2, 0.5); +insert into ratings values (162, 184544, '2005-03-06', 1, 0.3); +insert into ratings values (162, 184544, '2005-03-06', 2, 0.6); +insert into ratings values (162, 184544, '2005-03-06', 3, 0.1); +insert into ratings values (162, 491331, '2005-09-04', 1, 0.3); +insert into ratings values (162, 491331, '2005-09-04', 2, 0.6); +insert into ratings values (162, 491331, '2005-09-04', 3, 0.1); +insert into ratings values (162, 437680, '2005-06-14', 3, 0.1); +insert into ratings values (162, 437680, '2005-06-14', 4, 0.3); +insert into ratings values (162, 437680, '2005-06-14', 5, 0.6); +insert into ratings values (162, 289920, '2005-11-07', 2, 0.2); +insert into ratings values (162, 289920, '2005-11-07', 3, 0.8); +insert into ratings values (163, 437597, '2004-05-24', 1, 0.8); +insert into ratings values (163, 437597, '2004-05-24', 2, 0.2); +insert into ratings values (163, 289162, '2004-07-28', 3, 0.3); +insert into ratings values (163, 289162, '2004-07-28', 4, 0.6); +insert into ratings values (163, 289162, '2004-07-28', 5, 0.1); +insert into ratings values (163, 178860, '2005-01-29', 2, 0.4); +insert into ratings values (163, 178860, '2005-01-29', 3, 0.6); +insert into ratings values (163, 288821, '2005-06-19', 3, 0.3); +insert into ratings values (163, 288821, '2005-06-19', 4, 0.1); +insert into ratings values (163, 288821, '2005-06-19', 5, 0.6); +insert into ratings values (163, 157711, '2005-08-30', 3, 1.0); +insert into ratings values (164, 263315, '2005-10-17', 2, 0.2); +insert into ratings values (164, 263315, '2005-10-17', 3, 0.5); +insert into ratings values (164, 263315, '2005-10-17', 4, 0.3); +insert into ratings values (164, 447530, '2005-09-23', 1, 0.2); +insert into ratings values (164, 447530, '2005-09-23', 2, 0.4); +insert into ratings values (164, 447530, '2005-09-23', 3, 0.4); +insert into ratings values (164, 497423, '2005-10-04', 4, 1.0); +insert into ratings values (164, 8826, '2005-09-08', 1, 0.6); +insert into ratings values (164, 8826, '2005-09-08', 2, 0.4); +insert into ratings values (164, 275886, '2005-11-23', 1, 0.5); +insert into ratings values (164, 275886, '2005-11-23', 2, 0.5); +insert into ratings values (165, 276813, '2001-08-13', 3, 1.0); +insert into ratings values (165, 132390, '2004-11-27', 3, 1.0); +insert into ratings values (165, 39956, '2003-11-22', 3, 0.5); +insert into ratings values (165, 39956, '2003-11-22', 4, 0.1); +insert into ratings values (165, 39956, '2003-11-22', 5, 0.4); +insert into ratings values (165, 282391, '2004-10-26', 3, 0.3); +insert into ratings values (165, 282391, '2004-10-26', 4, 0.3); +insert into ratings values (165, 282391, '2004-10-26', 5, 0.4); +insert into ratings values (165, 30878, '2005-12-26', 4, 1.0); +insert into ratings values (166, 30878, '2004-08-08', 3, 0.5); +insert into ratings values (166, 30878, '2004-08-08', 4, 0.5); +insert into ratings values (166, 42362, '2004-06-28', 4, 0.6); +insert into ratings values (166, 42362, '2004-06-28', 5, 0.4); +insert into ratings values (166, 39956, '2003-11-22', 4, 0.6); +insert into ratings values (166, 39956, '2003-11-22', 5, 0.4); +insert into ratings values (166, 139297, '2004-01-14', 2, 0.2); +insert into ratings values (166, 139297, '2004-01-14', 3, 0.6); +insert into ratings values (166, 139297, '2004-01-14', 4, 0.2); +insert into ratings values (166, 70244, '2004-02-29', 2, 0.3); +insert into ratings values (166, 70244, '2004-02-29', 3, 0.7); +insert into ratings values (167, 209202, '2005-08-23', 4, 0.6); +insert into ratings values (167, 209202, '2005-08-23', 5, 0.4); +insert into ratings values (167, 147748, '2005-08-24', 5, 1.0); +insert into ratings values (167, 197179, '2005-09-15', 3, 0.1); +insert into ratings values (167, 197179, '2005-09-15', 4, 0.3); +insert into ratings values (167, 197179, '2005-09-15', 5, 0.6); +insert into ratings values (167, 66263, '2005-10-13', 4, 0.2); +insert into ratings values (167, 66263, '2005-10-13', 5, 0.8); +insert into ratings values (167, 217982, '2005-11-02', 2, 0.5); +insert into ratings values (167, 217982, '2005-11-02', 3, 0.4); +insert into ratings values (167, 217982, '2005-11-02', 4, 0.1); +insert into ratings values (168, 441324, '2005-01-12', 2, 1.0); +insert into ratings values (168, 414791, '2005-12-04', 4, 1.0); +insert into ratings values (168, 371362, '2004-10-01', 3, 1.0); +insert into ratings values (168, 104759, '2004-12-26', 1, 0.4); +insert into ratings values (168, 104759, '2004-12-26', 2, 0.5); +insert into ratings values (168, 104759, '2004-12-26', 3, 0.1); +insert into ratings values (168, 52540, '2005-01-19', 5, 1.0); +insert into ratings values (169, 259713, '2004-10-23', 3, 0.6); +insert into ratings values (169, 259713, '2004-10-23', 4, 0.4); +insert into ratings values (169, 119496, '2004-10-13', 3, 0.1); +insert into ratings values (169, 119496, '2004-10-13', 4, 0.4); +insert into ratings values (169, 119496, '2004-10-13', 5, 0.5); +insert into ratings values (169, 486873, '2004-10-11', 2, 0.2); +insert into ratings values (169, 486873, '2004-10-11', 3, 0.8); +insert into ratings values (169, 116168, '2004-11-15', 2, 1.0); +insert into ratings values (169, 57332, '2005-10-08', 2, 0.5); +insert into ratings values (169, 57332, '2005-10-08', 3, 0.5); +insert into ratings values (170, 10972, '2005-05-27', 3, 0.2); +insert into ratings values (170, 10972, '2005-05-27', 4, 0.3); +insert into ratings values (170, 10972, '2005-05-27', 5, 0.5); +insert into ratings values (170, 237410, '2004-07-07', 2, 1.0); +insert into ratings values (170, 31835, '2005-12-03', 3, 0.7); +insert into ratings values (170, 31835, '2005-12-03', 4, 0.3); +insert into ratings values (170, 63364, '2005-07-20', 3, 0.2); +insert into ratings values (170, 63364, '2005-07-20', 4, 0.4); +insert into ratings values (170, 63364, '2005-07-20', 5, 0.4); +insert into ratings values (170, 178914, '2005-12-10', 3, 0.3); +insert into ratings values (170, 178914, '2005-12-10', 4, 0.4); +insert into ratings values (170, 178914, '2005-12-10', 5, 0.3); +insert into ratings values (171, 39956, '2003-11-22', 4, 0.6); +insert into ratings values (171, 39956, '2003-11-22', 5, 0.4); +insert into ratings values (171, 297998, '2005-01-05', 3, 0.1); +insert into ratings values (171, 297998, '2005-01-05', 4, 0.5); +insert into ratings values (171, 297998, '2005-01-05', 5, 0.4); +insert into ratings values (171, 160977, '2005-01-08', 3, 0.2); +insert into ratings values (171, 160977, '2005-01-08', 4, 0.6); +insert into ratings values (171, 160977, '2005-01-08', 5, 0.2); +insert into ratings values (171, 454849, '2005-10-03', 3, 0.8); +insert into ratings values (171, 454849, '2005-10-03', 4, 0.2); +insert into ratings values (171, 14690, '2003-10-16', 4, 1.0); +insert into ratings values (172, 272881, '2005-10-23', 3, 1.0); +insert into ratings values (172, 303948, '2004-11-26', 2, 0.5); +insert into ratings values (172, 303948, '2004-11-26', 3, 0.5); +insert into ratings values (172, 416556, '2005-10-04', 2, 0.4); +insert into ratings values (172, 416556, '2005-10-04', 3, 0.6); +insert into ratings values (172, 402377, '2005-03-04', 2, 0.1); +insert into ratings values (172, 402377, '2005-03-04', 3, 0.6); +insert into ratings values (172, 402377, '2005-03-04', 4, 0.3); +insert into ratings values (172, 183476, '2005-01-19', 3, 0.1); +insert into ratings values (172, 183476, '2005-01-19', 4, 0.3); +insert into ratings values (172, 183476, '2005-01-19', 5, 0.6); +insert into ratings values (173, 247794, '2002-05-19', 2, 0.1); +insert into ratings values (173, 247794, '2002-05-19', 3, 0.5); +insert into ratings values (173, 247794, '2002-05-19', 4, 0.4); +insert into ratings values (173, 161299, '2004-03-07', 3, 0.3); +insert into ratings values (173, 161299, '2004-03-07', 4, 0.7); +insert into ratings values (173, 218097, '2005-08-02', 3, 0.1); +insert into ratings values (173, 218097, '2005-08-02', 4, 0.4); +insert into ratings values (173, 218097, '2005-08-02', 5, 0.5); +insert into ratings values (173, 346189, '2004-07-22', 3, 1.0); +insert into ratings values (173, 105087, '2003-11-07', 5, 1.0); +insert into ratings values (174, 303948, '2005-08-12', 3, 0.7); +insert into ratings values (174, 303948, '2005-08-12', 4, 0.3); +insert into ratings values (174, 341468, '2005-11-07', 2, 0.3); +insert into ratings values (174, 341468, '2005-11-07', 3, 0.7); +insert into ratings values (174, 204590, '2005-08-26', 4, 0.4); +insert into ratings values (174, 204590, '2005-08-26', 5, 0.6); +insert into ratings values (174, 165060, '2005-12-03', 4, 0.4); +insert into ratings values (174, 165060, '2005-12-03', 5, 0.6); +insert into ratings values (174, 277837, '2005-08-26', 1, 1.0); +insert into ratings values (175, 69867, '2001-12-28', 3, 0.1); +insert into ratings values (175, 69867, '2001-12-28', 4, 0.4); +insert into ratings values (175, 69867, '2001-12-28', 5, 0.5); +insert into ratings values (175, 306466, '2001-01-27', 4, 0.5); +insert into ratings values (175, 306466, '2001-01-27', 5, 0.5); +insert into ratings values (175, 254711, '2005-07-12', 5, 1.0); +insert into ratings values (175, 477388, '2000-04-15', 3, 0.3); +insert into ratings values (175, 477388, '2000-04-15', 4, 0.1); +insert into ratings values (175, 477388, '2000-04-15', 5, 0.6); +insert into ratings values (175, 422507, '2005-07-14', 4, 0.5); +insert into ratings values (175, 422507, '2005-07-14', 5, 0.5); +insert into ratings values (176, 252944, '2004-07-13', 3, 0.4); +insert into ratings values (176, 252944, '2004-07-13', 4, 0.6); +insert into ratings values (176, 120831, '2005-07-22', 3, 0.1); +insert into ratings values (176, 120831, '2005-07-22', 4, 0.6); +insert into ratings values (176, 120831, '2005-07-22', 5, 0.3); +insert into ratings values (176, 499007, '2005-11-29', 3, 0.1); +insert into ratings values (176, 499007, '2005-11-29', 4, 0.6); +insert into ratings values (176, 499007, '2005-11-29', 5, 0.3); +insert into ratings values (176, 340848, '2005-10-18', 2, 0.3); +insert into ratings values (176, 340848, '2005-10-18', 3, 0.5); +insert into ratings values (176, 340848, '2005-10-18', 4, 0.2); +insert into ratings values (176, 181592, '2005-01-22', 2, 0.4); +insert into ratings values (176, 181592, '2005-01-22', 3, 0.5); +insert into ratings values (176, 181592, '2005-01-22', 4, 0.1); +insert into ratings values (177, 204011, '2003-10-07', 3, 0.6); +insert into ratings values (177, 204011, '2003-10-07', 4, 0.4); +insert into ratings values (177, 61472, '2003-09-13', 2, 0.1); +insert into ratings values (177, 61472, '2003-09-13', 3, 0.4); +insert into ratings values (177, 61472, '2003-09-13', 4, 0.5); +insert into ratings values (177, 462344, '2003-08-05', 2, 0.1); +insert into ratings values (177, 462344, '2003-08-05', 3, 0.6); +insert into ratings values (177, 462344, '2003-08-05', 4, 0.3); +insert into ratings values (177, 313419, '2005-01-19', 2, 0.3); +insert into ratings values (177, 313419, '2005-01-19', 3, 0.6); +insert into ratings values (177, 313419, '2005-01-19', 4, 0.1); +insert into ratings values (177, 443724, '2004-04-05', 3, 1.0); +insert into ratings values (178, 339532, '2005-03-25', 5, 1.0); +insert into ratings values (178, 63170, '2004-05-31', 3, 1.0); +insert into ratings values (178, 102219, '2003-11-04', 3, 1.0); +insert into ratings values (178, 353906, '2004-07-19', 1, 0.2); +insert into ratings values (178, 353906, '2004-07-19', 2, 0.4); +insert into ratings values (178, 353906, '2004-07-19', 3, 0.4); +insert into ratings values (178, 3561, '2004-01-05', 1, 0.3); +insert into ratings values (178, 3561, '2004-01-05', 2, 0.5); +insert into ratings values (178, 3561, '2004-01-05', 3, 0.2); +insert into ratings values (179, 303948, '2004-10-31', 2, 0.3); +insert into ratings values (179, 303948, '2004-10-31', 3, 0.6); +insert into ratings values (179, 303948, '2004-10-31', 4, 0.1); +insert into ratings values (179, 423270, '2004-07-28', 3, 0.5); +insert into ratings values (179, 423270, '2004-07-28', 4, 0.5); +insert into ratings values (179, 364540, '2005-09-07', 1, 0.3); +insert into ratings values (179, 364540, '2005-09-07', 2, 0.7); +insert into ratings values (179, 30978, '2004-11-19', 3, 0.5); +insert into ratings values (179, 30978, '2004-11-19', 4, 0.5); +insert into ratings values (179, 90281, '2004-10-28', 1, 0.1); +insert into ratings values (179, 90281, '2004-10-28', 2, 0.5); +insert into ratings values (179, 90281, '2004-10-28', 3, 0.4); +insert into ratings values (180, 496735, '2003-04-16', 1, 0.5); +insert into ratings values (180, 496735, '2003-04-16', 2, 0.5); +insert into ratings values (180, 477388, '2005-09-28', 2, 0.5); +insert into ratings values (180, 477388, '2005-09-28', 3, 0.5); +insert into ratings values (180, 327122, '2004-11-16', 4, 1.0); +insert into ratings values (180, 257592, '2005-08-10', 4, 1.0); +insert into ratings values (180, 131329, '2003-07-12', 2, 0.5); +insert into ratings values (180, 131329, '2003-07-12', 3, 0.4); +insert into ratings values (180, 131329, '2003-07-12', 4, 0.1); +insert into ratings values (181, 449288, '2005-07-02', 1, 1.0); +insert into ratings values (181, 458209, '2005-07-20', 2, 1.0); +insert into ratings values (181, 13691, '2005-07-27', 3, 1.0); +insert into ratings values (181, 408856, '2005-09-06', 2, 0.5); +insert into ratings values (181, 408856, '2005-09-06', 3, 0.5); +insert into ratings values (181, 471879, '2005-06-23', 1, 0.2); +insert into ratings values (181, 471879, '2005-06-23', 2, 0.6); +insert into ratings values (181, 471879, '2005-06-23', 3, 0.2); +insert into ratings values (182, 192061, '2005-01-19', 3, 0.4); +insert into ratings values (182, 192061, '2005-01-19', 4, 0.6); +insert into ratings values (182, 234621, '2003-02-13', 3, 0.3); +insert into ratings values (182, 234621, '2003-02-13', 4, 0.4); +insert into ratings values (182, 234621, '2003-02-13', 5, 0.3); +insert into ratings values (182, 20936, '2005-04-14', 2, 1.0); +insert into ratings values (182, 438057, '2004-10-08', 2, 0.1); +insert into ratings values (182, 438057, '2004-10-08', 3, 0.4); +insert into ratings values (182, 438057, '2004-10-08', 4, 0.5); +insert into ratings values (182, 246410, '2005-08-21', 1, 0.6); +insert into ratings values (182, 246410, '2005-08-21', 2, 0.4); +insert into ratings values (183, 188414, '2005-05-22', 3, 1.0); +insert into ratings values (183, 55041, '2005-10-28', 2, 0.4); +insert into ratings values (183, 55041, '2005-10-28', 3, 0.4); +insert into ratings values (183, 55041, '2005-10-28', 4, 0.2); +insert into ratings values (183, 456439, '2005-08-09', 4, 1.0); +insert into ratings values (183, 305039, '2005-10-22', 3, 0.1); +insert into ratings values (183, 305039, '2005-10-22', 4, 0.6); +insert into ratings values (183, 305039, '2005-10-22', 5, 0.3); +insert into ratings values (183, 232994, '2005-09-20', 1, 0.7); +insert into ratings values (183, 232994, '2005-09-20', 2, 0.3); +insert into ratings values (184, 127857, '2005-04-06', 4, 1.0); +insert into ratings values (184, 299910, '2005-11-01', 3, 1.0); +insert into ratings values (184, 335555, '2005-01-20', 2, 0.5); +insert into ratings values (184, 335555, '2005-01-20', 3, 0.4); +insert into ratings values (184, 335555, '2005-01-20', 4, 0.1); +insert into ratings values (184, 393514, '2005-10-07', 2, 0.4); +insert into ratings values (184, 393514, '2005-10-07', 3, 0.5); +insert into ratings values (184, 393514, '2005-10-07', 4, 0.1); +insert into ratings values (184, 417039, '2005-03-14', 3, 0.8); +insert into ratings values (184, 417039, '2005-03-14', 4, 0.2); +insert into ratings values (185, 346189, '2004-01-05', 2, 0.6); +insert into ratings values (185, 346189, '2004-01-05', 3, 0.4); +insert into ratings values (185, 105087, '2004-05-19', 2, 1.0); +insert into ratings values (185, 353820, '2004-06-27', 2, 0.1); +insert into ratings values (185, 353820, '2004-06-27', 3, 0.6); +insert into ratings values (185, 353820, '2004-06-27', 4, 0.3); +insert into ratings values (185, 324102, '2004-06-01', 4, 1.0); +insert into ratings values (185, 47411, '2003-07-09', 2, 0.2); +insert into ratings values (185, 47411, '2003-07-09', 3, 0.6); +insert into ratings values (185, 47411, '2003-07-09', 4, 0.2); +insert into ratings values (186, 146851, '2005-04-01', 4, 0.8); +insert into ratings values (186, 146851, '2005-04-01', 5, 0.2); +insert into ratings values (186, 327122, '2005-06-24', 3, 1.0); +insert into ratings values (186, 329712, '2005-07-22', 4, 1.0); +insert into ratings values (186, 329261, '2005-04-22', 1, 0.4); +insert into ratings values (186, 329261, '2005-04-22', 2, 0.6); +insert into ratings values (186, 215082, '2005-04-18', 2, 0.1); +insert into ratings values (186, 215082, '2005-04-18', 3, 0.6); +insert into ratings values (186, 215082, '2005-04-18', 4, 0.3); +insert into ratings values (187, 140292, '2005-07-12', 4, 1.0); +insert into ratings values (187, 452013, '2003-04-09', 2, 0.1); +insert into ratings values (187, 452013, '2003-04-09', 3, 0.5); +insert into ratings values (187, 452013, '2003-04-09', 4, 0.4); +insert into ratings values (187, 276813, '2002-12-22', 4, 0.5); +insert into ratings values (187, 276813, '2002-12-22', 5, 0.5); +insert into ratings values (187, 369430, '2003-06-04', 4, 1.0); +insert into ratings values (187, 43601, '2002-11-23', 3, 1.0); +insert into ratings values (188, 249052, '2005-11-12', 3, 0.3); +insert into ratings values (188, 249052, '2005-11-12', 4, 0.1); +insert into ratings values (188, 249052, '2005-11-12', 5, 0.6); +insert into ratings values (188, 305197, '2005-03-21', 2, 0.4); +insert into ratings values (188, 305197, '2005-03-21', 3, 0.5); +insert into ratings values (188, 305197, '2005-03-21', 4, 0.1); +insert into ratings values (188, 471879, '2005-04-12', 3, 0.4); +insert into ratings values (188, 471879, '2005-04-12', 4, 0.6); +insert into ratings values (188, 11169, '2005-08-14', 1, 1.0); +insert into ratings values (188, 317060, '2005-05-02', 4, 0.4); +insert into ratings values (188, 317060, '2005-05-02', 5, 0.6); +insert into ratings values (189, 306466, '2001-09-21', 4, 0.4); +insert into ratings values (189, 306466, '2001-09-21', 5, 0.6); +insert into ratings values (189, 276813, '2001-08-20', 2, 1.0); +insert into ratings values (189, 41412, '2002-01-03', 3, 1.0); +insert into ratings values (189, 66187, '2005-08-22', 2, 0.3); +insert into ratings values (189, 66187, '2005-08-22', 3, 0.7); +insert into ratings values (189, 139297, '2004-01-14', 3, 1.0); +insert into ratings values (190, 447282, '2004-07-15', 1, 0.2); +insert into ratings values (190, 447282, '2004-07-15', 2, 0.4); +insert into ratings values (190, 447282, '2004-07-15', 3, 0.4); +insert into ratings values (190, 177972, '2004-04-24', 3, 1.0); +insert into ratings values (190, 447410, '2004-04-30', 4, 0.4); +insert into ratings values (190, 447410, '2004-04-30', 5, 0.6); +insert into ratings values (190, 272845, '2004-05-15', 2, 0.4); +insert into ratings values (190, 272845, '2004-05-15', 3, 0.6); +insert into ratings values (190, 64458, '2004-10-31', 1, 0.6); +insert into ratings values (190, 64458, '2004-10-31', 2, 0.4); +insert into ratings values (191, 364518, '2004-01-09', 2, 0.3); +insert into ratings values (191, 364518, '2004-01-09', 3, 0.7); +insert into ratings values (191, 306466, '2003-12-02', 3, 0.2); +insert into ratings values (191, 306466, '2003-12-02', 4, 0.6); +insert into ratings values (191, 306466, '2003-12-02', 5, 0.2); +insert into ratings values (191, 193828, '2005-07-14', 3, 0.4); +insert into ratings values (191, 193828, '2005-07-14', 4, 0.4); +insert into ratings values (191, 193828, '2005-07-14', 5, 0.2); +insert into ratings values (191, 175214, '2005-07-15', 3, 0.1); +insert into ratings values (191, 175214, '2005-07-15', 4, 0.3); +insert into ratings values (191, 175214, '2005-07-15', 5, 0.6); +insert into ratings values (191, 276813, '2003-12-21', 4, 1.0); +insert into ratings values (192, 41412, '2004-06-21', 2, 1.0); +insert into ratings values (192, 200255, '2004-08-31', 1, 0.3); +insert into ratings values (192, 200255, '2004-08-31', 2, 0.4); +insert into ratings values (192, 200255, '2004-08-31', 3, 0.3); +insert into ratings values (192, 85856, '2005-01-08', 2, 0.5); +insert into ratings values (192, 85856, '2005-01-08', 3, 0.5); +insert into ratings values (192, 313872, '2005-09-09', 3, 1.0); +insert into ratings values (192, 330551, '2004-09-21', 4, 0.2); +insert into ratings values (192, 330551, '2004-09-21', 5, 0.8); +insert into ratings values (193, 240705, '2005-07-20', 5, 1.0); +insert into ratings values (193, 415415, '2005-09-21', 1, 0.4); +insert into ratings values (193, 415415, '2005-09-21', 2, 0.5); +insert into ratings values (193, 415415, '2005-09-21', 3, 0.1); +insert into ratings values (193, 126592, '2005-02-21', 3, 0.3); +insert into ratings values (193, 126592, '2005-02-21', 4, 0.4); +insert into ratings values (193, 126592, '2005-02-21', 5, 0.3); +insert into ratings values (193, 98367, '2005-03-21', 3, 0.7); +insert into ratings values (193, 98367, '2005-03-21', 4, 0.3); +insert into ratings values (193, 268174, '2005-03-20', 3, 1.0); +insert into ratings values (194, 323063, '2004-07-01', 3, 0.1); +insert into ratings values (194, 323063, '2004-07-01', 4, 0.4); +insert into ratings values (194, 323063, '2004-07-01', 5, 0.5); +insert into ratings values (194, 471426, '2005-11-09', 2, 0.5); +insert into ratings values (194, 471426, '2005-11-09', 3, 0.5); +insert into ratings values (194, 22037, '2005-08-08', 4, 0.6); +insert into ratings values (194, 22037, '2005-08-08', 5, 0.4); +insert into ratings values (194, 397077, '2004-10-05', 3, 1.0); +insert into ratings values (194, 44734, '2004-06-25', 3, 0.2); +insert into ratings values (194, 44734, '2004-06-25', 4, 0.6); +insert into ratings values (194, 44734, '2004-06-25', 5, 0.2); +insert into ratings values (195, 402336, '2005-11-22', 3, 1.0); +insert into ratings values (195, 50704, '2005-09-28', 3, 0.3); +insert into ratings values (195, 50704, '2005-09-28', 4, 0.7); +insert into ratings values (195, 484675, '2005-10-12', 3, 1.0); +insert into ratings values (195, 176911, '2005-10-23', 3, 1.0); +insert into ratings values (195, 415244, '2005-10-19', 3, 0.4); +insert into ratings values (195, 415244, '2005-10-19', 4, 0.6); +insert into ratings values (196, 307151, '2004-02-28', 3, 0.8); +insert into ratings values (196, 307151, '2004-02-28', 4, 0.2); +insert into ratings values (196, 486358, '2004-08-03', 4, 0.4); +insert into ratings values (196, 486358, '2004-08-03', 5, 0.6); +insert into ratings values (196, 160923, '2003-08-21', 1, 1.0); +insert into ratings values (196, 191768, '2003-08-20', 4, 0.6); +insert into ratings values (196, 191768, '2003-08-20', 5, 0.4); +insert into ratings values (196, 230485, '2004-07-09', 3, 0.5); +insert into ratings values (196, 230485, '2004-07-09', 4, 0.1); +insert into ratings values (196, 230485, '2004-07-09', 5, 0.4); +insert into ratings values (197, 445672, '2005-07-05', 3, 0.2); +insert into ratings values (197, 445672, '2005-07-05', 4, 0.6); +insert into ratings values (197, 445672, '2005-07-05', 5, 0.2); +insert into ratings values (197, 496476, '2005-07-05', 3, 0.1); +insert into ratings values (197, 496476, '2005-07-05', 4, 0.3); +insert into ratings values (197, 496476, '2005-07-05', 5, 0.6); +insert into ratings values (197, 306466, '2004-08-23', 2, 0.4); +insert into ratings values (197, 306466, '2004-08-23', 3, 0.6); +insert into ratings values (197, 226739, '2005-07-13', 3, 0.3); +insert into ratings values (197, 226739, '2005-07-13', 4, 0.6); +insert into ratings values (197, 226739, '2005-07-13', 5, 0.1); +insert into ratings values (197, 422507, '2005-07-13', 1, 0.4); +insert into ratings values (197, 422507, '2005-07-13', 2, 0.4); +insert into ratings values (197, 422507, '2005-07-13', 3, 0.2); +insert into ratings values (198, 76196, '2002-01-03', 1, 0.6); +insert into ratings values (198, 76196, '2002-01-03', 2, 0.3); +insert into ratings values (198, 76196, '2002-01-03', 3, 0.1); +insert into ratings values (198, 204280, '2005-07-18', 3, 0.5); +insert into ratings values (198, 204280, '2005-07-18', 4, 0.5); +insert into ratings values (198, 59100, '2005-05-25', 2, 0.2); +insert into ratings values (198, 59100, '2005-05-25', 3, 0.6); +insert into ratings values (198, 59100, '2005-05-25', 4, 0.2); +insert into ratings values (198, 50837, '2005-02-24', 5, 1.0); +insert into ratings values (198, 49585, '2003-01-20', 1, 0.5); +insert into ratings values (198, 49585, '2003-01-20', 2, 0.4); +insert into ratings values (198, 49585, '2003-01-20', 3, 0.1); +insert into ratings values (199, 364518, '2002-05-02', 4, 1.0); +insert into ratings values (199, 69867, '2000-04-25', 2, 1.0); +insert into ratings values (199, 306466, '2001-02-27', 4, 0.5); +insert into ratings values (199, 306466, '2001-02-27', 5, 0.5); +insert into ratings values (199, 477388, '2000-04-17', 1, 0.6); +insert into ratings values (199, 477388, '2000-04-17', 2, 0.2); +insert into ratings values (199, 477388, '2000-04-17', 3, 0.2); +insert into ratings values (199, 388088, '2000-09-16', 3, 0.2); +insert into ratings values (199, 388088, '2000-09-16', 4, 0.4); +insert into ratings values (199, 388088, '2000-09-16', 5, 0.4); +insert into ratings values (200, 384431, '2005-05-19', 3, 0.2); +insert into ratings values (200, 384431, '2005-05-19', 4, 0.4); +insert into ratings values (200, 384431, '2005-05-19', 5, 0.4); +insert into ratings values (200, 346689, '2005-09-14', 5, 1.0); +insert into ratings values (200, 215082, '2005-09-06', 2, 1.0); +insert into ratings values (200, 7921, '2005-07-12', 4, 0.2); +insert into ratings values (200, 7921, '2005-07-12', 5, 0.8); +insert into ratings values (200, 493678, '2005-08-04', 4, 0.4); +insert into ratings values (200, 493678, '2005-08-04', 5, 0.6); +insert into ratings values (201, 282391, '2005-05-08', 4, 0.5); +insert into ratings values (201, 282391, '2005-05-08', 5, 0.5); +insert into ratings values (201, 238407, '2005-09-24', 5, 1.0); +insert into ratings values (201, 341804, '2003-12-15', 2, 0.6); +insert into ratings values (201, 341804, '2003-12-15', 3, 0.4); +insert into ratings values (201, 192061, '2005-01-10', 2, 0.4); +insert into ratings values (201, 192061, '2005-01-10', 3, 0.5); +insert into ratings values (201, 192061, '2005-01-10', 4, 0.1); +insert into ratings values (201, 79519, '2005-11-21', 2, 0.6); +insert into ratings values (201, 79519, '2005-11-21', 3, 0.4); +insert into ratings values (202, 303948, '2005-04-12', 3, 1.0); +insert into ratings values (202, 290916, '2005-01-02', 1, 0.5); +insert into ratings values (202, 290916, '2005-01-02', 2, 0.5); +insert into ratings values (202, 113996, '2005-03-16', 3, 0.4); +insert into ratings values (202, 113996, '2005-03-16', 4, 0.6); +insert into ratings values (202, 73103, '2004-12-09', 4, 0.4); +insert into ratings values (202, 73103, '2004-12-09', 5, 0.6); +insert into ratings values (202, 93986, '2004-12-25', 1, 0.1); +insert into ratings values (202, 93986, '2004-12-25', 2, 0.6); +insert into ratings values (202, 93986, '2004-12-25', 3, 0.3); +insert into ratings values (203, 228968, '2005-05-16', 3, 0.7); +insert into ratings values (203, 228968, '2005-05-16', 4, 0.3); +insert into ratings values (203, 284489, '2004-09-21', 2, 1.0); +insert into ratings values (203, 368070, '2004-02-18', 5, 1.0); +insert into ratings values (203, 261199, '2005-11-17', 1, 0.3); +insert into ratings values (203, 261199, '2005-11-17', 2, 0.6); +insert into ratings values (203, 261199, '2005-11-17', 3, 0.1); +insert into ratings values (203, 22904, '2004-03-28', 4, 0.3); +insert into ratings values (203, 22904, '2004-03-28', 5, 0.7); +insert into ratings values (204, 193052, '2004-07-06', 3, 1.0); +insert into ratings values (204, 325336, '2004-11-10', 1, 0.7); +insert into ratings values (204, 325336, '2004-11-10', 2, 0.3); +insert into ratings values (204, 481326, '2005-09-26', 2, 1.0); +insert into ratings values (204, 458114, '2005-08-24', 3, 0.4); +insert into ratings values (204, 458114, '2005-08-24', 4, 0.5); +insert into ratings values (204, 458114, '2005-08-24', 5, 0.1); +insert into ratings values (204, 286045, '2005-04-08', 1, 0.4); +insert into ratings values (204, 286045, '2005-04-08', 2, 0.3); +insert into ratings values (204, 286045, '2005-04-08', 3, 0.3); +insert into ratings values (205, 231140, '2005-01-11', 4, 1.0); +insert into ratings values (205, 228323, '2005-07-23', 5, 1.0); +insert into ratings values (205, 205586, '2005-07-12', 2, 0.2); +insert into ratings values (205, 205586, '2005-07-12', 3, 0.8); +insert into ratings values (205, 127681, '2005-03-03', 3, 1.0); +insert into ratings values (205, 486507, '2005-01-19', 4, 1.0); +insert into ratings values (206, 56069, '2005-09-02', 3, 0.2); +insert into ratings values (206, 56069, '2005-09-02', 4, 0.2); +insert into ratings values (206, 56069, '2005-09-02', 5, 0.6); +insert into ratings values (206, 146851, '2005-02-18', 3, 0.2); +insert into ratings values (206, 146851, '2005-02-18', 4, 0.4); +insert into ratings values (206, 146851, '2005-02-18', 5, 0.4); +insert into ratings values (206, 295983, '2005-11-14', 3, 0.3); +insert into ratings values (206, 295983, '2005-11-14', 4, 0.3); +insert into ratings values (206, 295983, '2005-11-14', 5, 0.4); +insert into ratings values (206, 264160, '2005-08-28', 3, 0.1); +insert into ratings values (206, 264160, '2005-08-28', 4, 0.6); +insert into ratings values (206, 264160, '2005-08-28', 5, 0.3); +insert into ratings values (206, 407064, '2005-06-02', 3, 0.3); +insert into ratings values (206, 407064, '2005-06-02', 4, 0.1); +insert into ratings values (206, 407064, '2005-06-02', 5, 0.6); +insert into ratings values (207, 347081, '2005-09-13', 3, 1.0); +insert into ratings values (207, 71148, '2004-06-08', 3, 1.0); +insert into ratings values (207, 182620, '2004-11-23', 1, 0.2); +insert into ratings values (207, 182620, '2004-11-23', 2, 0.4); +insert into ratings values (207, 182620, '2004-11-23', 3, 0.4); +insert into ratings values (207, 331716, '2004-12-09', 4, 1.0); +insert into ratings values (207, 138678, '2004-10-19', 2, 1.0); +insert into ratings values (208, 306466, '2001-04-13', 3, 0.1); +insert into ratings values (208, 306466, '2001-04-13', 4, 0.4); +insert into ratings values (208, 306466, '2001-04-13', 5, 0.5); +insert into ratings values (208, 41412, '2002-05-11', 2, 0.2); +insert into ratings values (208, 41412, '2002-05-11', 3, 0.8); +insert into ratings values (208, 461110, '2004-11-18', 2, 0.2); +insert into ratings values (208, 461110, '2004-11-18', 3, 0.5); +insert into ratings values (208, 461110, '2004-11-18', 4, 0.3); +insert into ratings values (208, 283774, '2001-12-27', 1, 1.0); +insert into ratings values (208, 264160, '2005-08-28', 3, 0.2); +insert into ratings values (208, 264160, '2005-08-28', 4, 0.2); +insert into ratings values (208, 264160, '2005-08-28', 5, 0.6); +insert into ratings values (209, 139297, '2004-01-21', 3, 0.2); +insert into ratings values (209, 139297, '2004-01-21', 4, 0.8); +insert into ratings values (209, 348247, '2005-07-14', 3, 1.0); +insert into ratings values (209, 461110, '2003-12-02', 1, 1.0); +insert into ratings values (209, 264160, '2005-07-06', 3, 0.4); +insert into ratings values (209, 264160, '2005-07-06', 4, 0.1); +insert into ratings values (209, 264160, '2005-07-06', 5, 0.5); +insert into ratings values (209, 209200, '2005-01-30', 4, 0.8); +insert into ratings values (209, 209200, '2005-01-30', 5, 0.2); +insert into ratings values (210, 327122, '2004-12-12', 1, 0.3); +insert into ratings values (210, 327122, '2004-12-12', 5, 0.7); +insert into ratings values (210, 497196, '2005-01-08', 1, 0.4); +insert into ratings values (210, 497196, '2005-01-08', 5, 0.6); +insert into ratings values (210, 498369, '2005-01-11', 1, 0.3); +insert into ratings values (210, 498369, '2005-01-11', 5, 0.7); +insert into ratings values (210, 483483, '2004-11-15', 1, 0.5); +insert into ratings values (210, 483483, '2004-11-15', 5, 0.5); +insert into ratings values (211, 66358, '2005-12-09', 4, 0.6); +insert into ratings values (211, 66358, '2005-12-09', 5, 0.4); +insert into ratings values (211, 176543, '2005-08-26', 3, 0.4); +insert into ratings values (211, 176543, '2005-08-26', 4, 0.5); +insert into ratings values (211, 176543, '2005-08-26', 5, 0.1); +insert into ratings values (211, 44772, '2005-06-13', 3, 0.2); +insert into ratings values (211, 44772, '2005-06-13', 4, 0.5); +insert into ratings values (211, 44772, '2005-06-13', 5, 0.3); +insert into ratings values (211, 24344, '2005-08-27', 4, 0.5); +insert into ratings values (211, 24344, '2005-08-27', 5, 0.5); +insert into ratings values (211, 167540, '2005-07-14', 3, 0.6); +insert into ratings values (211, 167540, '2005-07-14', 4, 0.4); +insert into ratings values (212, 273292, '2003-05-02', 4, 0.4); +insert into ratings values (212, 273292, '2003-05-02', 5, 0.6); +insert into ratings values (212, 249052, '2005-06-05', 3, 0.7); +insert into ratings values (212, 249052, '2005-06-05', 4, 0.3); +insert into ratings values (212, 214166, '2005-05-22', 1, 0.2); +insert into ratings values (212, 214166, '2005-05-22', 2, 0.8); +insert into ratings values (212, 332863, '2003-08-09', 4, 0.3); +insert into ratings values (212, 332863, '2003-08-09', 5, 0.7); +insert into ratings values (212, 24344, '2004-10-04', 3, 0.6); +insert into ratings values (212, 24344, '2004-10-04', 4, 0.4); +insert into ratings values (213, 364518, '2003-09-10', 3, 0.5); +insert into ratings values (213, 364518, '2003-09-10', 4, 0.5); +insert into ratings values (213, 390508, '2003-08-15', 2, 0.7); +insert into ratings values (213, 390508, '2003-08-15', 3, 0.3); +insert into ratings values (213, 238407, '2003-06-28', 2, 0.2); +insert into ratings values (213, 238407, '2003-06-28', 3, 0.5); +insert into ratings values (213, 238407, '2003-06-28', 4, 0.3); +insert into ratings values (213, 25382, '2003-07-29', 3, 0.3); +insert into ratings values (213, 25382, '2003-07-29', 4, 0.7); +insert into ratings values (213, 14690, '2004-01-12', 2, 0.3); +insert into ratings values (213, 14690, '2004-01-12', 3, 0.4); +insert into ratings values (213, 14690, '2004-01-12', 4, 0.3); +insert into ratings values (214, 170162, '2005-05-24', 3, 0.4); +insert into ratings values (214, 170162, '2005-05-24', 4, 0.5); +insert into ratings values (214, 170162, '2005-05-24', 5, 0.1); +insert into ratings values (214, 410007, '2004-06-08', 2, 0.4); +insert into ratings values (214, 410007, '2004-06-08', 3, 0.6); +insert into ratings values (214, 336998, '2005-07-28', 2, 0.5); +insert into ratings values (214, 336998, '2005-07-28', 3, 0.5); +insert into ratings values (214, 138556, '2004-05-17', 1, 0.3); +insert into ratings values (214, 138556, '2004-05-17', 2, 0.6); +insert into ratings values (214, 138556, '2004-05-17', 3, 0.1); +insert into ratings values (214, 389763, '2005-09-17', 3, 0.5); +insert into ratings values (214, 389763, '2005-09-17', 4, 0.5); +insert into ratings values (215, 132390, '2004-11-12', 3, 0.6); +insert into ratings values (215, 132390, '2004-11-12', 4, 0.4); +insert into ratings values (215, 35208, '2005-04-02', 5, 1.0); +insert into ratings values (215, 243963, '2005-09-07', 5, 1.0); +insert into ratings values (215, 471426, '2005-09-19', 2, 0.1); +insert into ratings values (215, 471426, '2005-09-19', 3, 0.5); +insert into ratings values (215, 471426, '2005-09-19', 4, 0.4); +insert into ratings values (215, 420661, '2005-07-27', 3, 0.2); +insert into ratings values (215, 420661, '2005-07-27', 4, 0.6); +insert into ratings values (215, 420661, '2005-07-27', 5, 0.2); +insert into ratings values (216, 306466, '2002-07-17', 1, 0.6); +insert into ratings values (216, 306466, '2002-07-17', 2, 0.2); +insert into ratings values (216, 306466, '2002-07-17', 3, 0.2); +insert into ratings values (216, 143278, '2003-07-12', 3, 0.5); +insert into ratings values (216, 143278, '2003-07-12', 4, 0.4); +insert into ratings values (216, 143278, '2003-07-12', 5, 0.1); +insert into ratings values (216, 400164, '2003-03-08', 2, 0.3); +insert into ratings values (216, 400164, '2003-03-08', 3, 0.6); +insert into ratings values (216, 400164, '2003-03-08', 4, 0.1); +insert into ratings values (216, 492722, '2003-03-05', 3, 0.2); +insert into ratings values (216, 492722, '2003-03-05', 4, 0.5); +insert into ratings values (216, 492722, '2003-03-05', 5, 0.3); +insert into ratings values (216, 404377, '2003-07-31', 4, 0.4); +insert into ratings values (216, 404377, '2003-07-31', 5, 0.6); +insert into ratings values (217, 175214, '2005-09-04', 2, 1.0); +insert into ratings values (217, 264160, '2005-08-28', 2, 0.3); +insert into ratings values (217, 264160, '2005-08-28', 3, 0.6); +insert into ratings values (217, 264160, '2005-08-28', 4, 0.1); +insert into ratings values (217, 179489, '2005-05-25', 2, 0.3); +insert into ratings values (217, 179489, '2005-05-25', 3, 0.4); +insert into ratings values (217, 179489, '2005-05-25', 4, 0.3); +insert into ratings values (217, 360830, '2005-07-03', 3, 1.0); +insert into ratings values (217, 277135, '2005-07-26', 2, 0.1); +insert into ratings values (217, 277135, '2005-07-26', 3, 0.5); +insert into ratings values (217, 277135, '2005-07-26', 4, 0.4); +insert into ratings values (218, 251043, '2005-07-30', 4, 0.8); +insert into ratings values (218, 251043, '2005-07-30', 5, 0.2); +insert into ratings values (218, 29267, '2004-05-11', 1, 0.4); +insert into ratings values (218, 29267, '2004-05-11', 2, 0.5); +insert into ratings values (218, 29267, '2004-05-11', 3, 0.1); +insert into ratings values (218, 189811, '2005-03-07', 2, 1.0); +insert into ratings values (218, 241149, '2005-11-02', 3, 0.4); +insert into ratings values (218, 241149, '2005-11-02', 4, 0.6); +insert into ratings values (218, 72465, '2004-05-03', 2, 1.0); +insert into ratings values (219, 173048, '2003-04-22', 2, 1.0); +insert into ratings values (219, 319802, '2000-01-15', 2, 0.3); +insert into ratings values (219, 319802, '2000-01-15', 3, 0.4); +insert into ratings values (219, 319802, '2000-01-15', 4, 0.3); +insert into ratings values (219, 238740, '2004-09-18', 3, 0.3); +insert into ratings values (219, 238740, '2004-09-18', 4, 0.5); +insert into ratings values (219, 238740, '2004-09-18', 5, 0.2); +insert into ratings values (219, 277990, '2002-06-06', 1, 0.2); +insert into ratings values (219, 277990, '2002-06-06', 2, 0.6); +insert into ratings values (219, 277990, '2002-06-06', 3, 0.2); +insert into ratings values (219, 59052, '2004-03-15', 2, 0.5); +insert into ratings values (219, 59052, '2004-03-15', 3, 0.4); +insert into ratings values (219, 59052, '2004-03-15', 4, 0.1); +insert into ratings values (220, 300074, '2005-07-09', 1, 1.0); +insert into ratings values (220, 127579, '2004-05-02', 5, 1.0); +insert into ratings values (220, 290741, '2004-12-14', 5, 1.0); +insert into ratings values (220, 169478, '2004-05-02', 1, 0.2); +insert into ratings values (220, 169478, '2004-05-02', 2, 0.6); +insert into ratings values (220, 169478, '2004-05-02', 3, 0.2); +insert into ratings values (220, 300777, '2005-09-12', 1, 1.0); +insert into ratings values (221, 56069, '2005-06-30', 4, 0.3); +insert into ratings values (221, 56069, '2005-06-30', 5, 0.7); +insert into ratings values (221, 145142, '2005-08-21', 2, 1.0); +insert into ratings values (221, 251043, '2005-06-19', 3, 0.2); +insert into ratings values (221, 251043, '2005-06-19', 4, 0.5); +insert into ratings values (221, 251043, '2005-06-19', 5, 0.3); +insert into ratings values (221, 408454, '2005-08-21', 2, 1.0); +insert into ratings values (221, 320812, '2005-07-10', 3, 0.2); +insert into ratings values (221, 320812, '2005-07-10', 4, 0.3); +insert into ratings values (221, 320812, '2005-07-10', 5, 0.5); +insert into ratings values (222, 497196, '2003-05-01', 3, 0.7); +insert into ratings values (222, 497196, '2003-05-01', 4, 0.3); +insert into ratings values (222, 378498, '2005-08-01', 4, 1.0); +insert into ratings values (222, 257622, '2003-04-15', 3, 1.0); +insert into ratings values (222, 34897, '2003-05-15', 1, 0.6); +insert into ratings values (222, 34897, '2003-05-15', 2, 0.2); +insert into ratings values (222, 34897, '2003-05-15', 3, 0.2); +insert into ratings values (222, 234929, '2003-09-03', 2, 0.3); +insert into ratings values (222, 234929, '2003-09-03', 3, 0.5); +insert into ratings values (222, 234929, '2003-09-03', 4, 0.2); +insert into ratings values (223, 233058, '2005-07-28', 4, 0.6); +insert into ratings values (223, 233058, '2005-07-28', 5, 0.4); +insert into ratings values (223, 487832, '2004-04-05', 4, 1.0); +insert into ratings values (223, 66187, '2005-08-22', 4, 0.4); +insert into ratings values (223, 66187, '2005-08-22', 5, 0.6); +insert into ratings values (223, 243963, '2005-08-29', 3, 0.2); +insert into ratings values (223, 243963, '2005-08-29', 4, 0.2); +insert into ratings values (223, 243963, '2005-08-29', 5, 0.6); +insert into ratings values (223, 244820, '2005-08-29', 4, 0.5); +insert into ratings values (223, 244820, '2005-08-29', 5, 0.5); +insert into ratings values (224, 146200, '2004-02-18', 5, 1.0); +insert into ratings values (224, 160977, '2005-05-07', 4, 1.0); +insert into ratings values (224, 252207, '2004-07-23', 4, 1.0); +insert into ratings values (224, 10688, '2004-10-01', 3, 0.4); +insert into ratings values (224, 10688, '2004-10-01', 4, 0.2); +insert into ratings values (224, 10688, '2004-10-01', 5, 0.4); +insert into ratings values (224, 109089, '2005-02-04', 4, 0.5); +insert into ratings values (224, 109089, '2005-02-04', 5, 0.5); +insert into ratings values (225, 308495, '2005-01-24', 4, 1.0); +insert into ratings values (225, 395744, '2005-02-20', 2, 1.0); +insert into ratings values (225, 135718, '2005-06-15', 2, 0.4); +insert into ratings values (225, 135718, '2005-06-15', 3, 0.6); +insert into ratings values (225, 67679, '2005-06-22', 5, 1.0); +insert into ratings values (225, 461110, '2005-01-13', 1, 0.6); +insert into ratings values (225, 461110, '2005-01-13', 2, 0.3); +insert into ratings values (225, 461110, '2005-01-13', 3, 0.1); +insert into ratings values (226, 267534, '2002-07-28', 1, 0.6); +insert into ratings values (226, 267534, '2002-07-28', 2, 0.4); +insert into ratings values (226, 165953, '2003-12-07', 1, 1.0); +insert into ratings values (226, 300417, '2004-08-12', 3, 0.6); +insert into ratings values (226, 300417, '2004-08-12', 4, 0.4); +insert into ratings values (226, 328364, '2001-10-17', 2, 0.4); +insert into ratings values (226, 328364, '2001-10-17', 3, 0.4); +insert into ratings values (226, 328364, '2001-10-17', 4, 0.2); +insert into ratings values (226, 484407, '2004-11-09', 2, 0.5); +insert into ratings values (226, 484407, '2004-11-09', 3, 0.5); +insert into ratings values (227, 180151, '2004-02-11', 2, 0.3); +insert into ratings values (227, 180151, '2004-02-11', 3, 0.7); +insert into ratings values (227, 293901, '2004-01-06', 3, 0.5); +insert into ratings values (227, 293901, '2004-01-06', 4, 0.4); +insert into ratings values (227, 293901, '2004-01-06', 5, 0.1); +insert into ratings values (227, 46036, '2003-07-29', 4, 1.0); +insert into ratings values (227, 17063, '2005-03-01', 4, 1.0); +insert into ratings values (227, 206809, '2003-03-07', 3, 0.4); +insert into ratings values (227, 206809, '2003-03-07', 4, 0.6); +insert into ratings values (228, 89800, '2005-09-06', 3, 1.0); +insert into ratings values (228, 332923, '2005-02-24', 1, 0.5); +insert into ratings values (228, 332923, '2005-02-24', 2, 0.5); +insert into ratings values (228, 49559, '2005-06-22', 3, 0.3); +insert into ratings values (228, 49559, '2005-06-22', 4, 0.4); +insert into ratings values (228, 49559, '2005-06-22', 5, 0.3); +insert into ratings values (228, 407037, '2005-02-22', 1, 0.3); +insert into ratings values (228, 407037, '2005-02-22', 2, 0.4); +insert into ratings values (228, 407037, '2005-02-22', 3, 0.3); +insert into ratings values (228, 456367, '2004-12-26', 2, 0.7); +insert into ratings values (228, 456367, '2004-12-26', 3, 0.3); +insert into ratings values (229, 483047, '2004-03-11', 3, 0.1); +insert into ratings values (229, 483047, '2004-03-11', 4, 0.5); +insert into ratings values (229, 483047, '2004-03-11', 5, 0.4); +insert into ratings values (229, 251535, '2004-05-13', 3, 1.0); +insert into ratings values (229, 145212, '2005-04-25', 4, 0.8); +insert into ratings values (229, 145212, '2005-04-25', 5, 0.2); +insert into ratings values (229, 200255, '2005-10-24', 5, 1.0); +insert into ratings values (229, 491331, '2005-09-04', 2, 1.0); +insert into ratings values (230, 300074, '2005-07-10', 1, 0.5); +insert into ratings values (230, 300074, '2005-07-10', 2, 0.1); +insert into ratings values (230, 300074, '2005-07-10', 3, 0.4); +insert into ratings values (230, 491331, '2005-12-28', 3, 0.2); +insert into ratings values (230, 491331, '2005-12-28', 4, 0.4); +insert into ratings values (230, 491331, '2005-12-28', 5, 0.4); +insert into ratings values (230, 67472, '2005-03-10', 3, 0.1); +insert into ratings values (230, 67472, '2005-03-10', 4, 0.5); +insert into ratings values (230, 67472, '2005-03-10', 5, 0.4); +insert into ratings values (230, 178860, '2005-03-25', 2, 0.4); +insert into ratings values (230, 178860, '2005-03-25', 3, 0.6); +insert into ratings values (230, 89773, '2005-10-15', 2, 0.2); +insert into ratings values (230, 89773, '2005-10-15', 3, 0.6); +insert into ratings values (230, 89773, '2005-10-15', 4, 0.2); +insert into ratings values (231, 44937, '2004-02-04', 3, 0.1); +insert into ratings values (231, 44937, '2004-02-04', 4, 0.6); +insert into ratings values (231, 44937, '2004-02-04', 5, 0.3); +insert into ratings values (231, 139297, '2004-02-17', 2, 0.3); +insert into ratings values (231, 139297, '2004-02-17', 3, 0.7); +insert into ratings values (231, 373243, '2005-03-21', 5, 1.0); +insert into ratings values (231, 283774, '2003-12-25', 4, 1.0); +insert into ratings values (231, 63787, '2004-03-09', 2, 0.8); +insert into ratings values (231, 63787, '2004-03-09', 3, 0.2); +insert into ratings values (232, 306466, '2004-04-26', 1, 1.0); +insert into ratings values (232, 30878, '2004-03-05', 3, 0.1); +insert into ratings values (232, 30878, '2004-03-05', 4, 0.4); +insert into ratings values (232, 30878, '2004-03-05', 5, 0.5); +insert into ratings values (232, 33916, '2003-04-15', 3, 0.7); +insert into ratings values (232, 33916, '2003-04-15', 4, 0.3); +insert into ratings values (232, 25382, '2004-03-22', 2, 0.2); +insert into ratings values (232, 25382, '2004-03-22', 3, 0.4); +insert into ratings values (232, 25382, '2004-03-22', 4, 0.4); +insert into ratings values (232, 39956, '2003-10-14', 3, 1.0); +insert into ratings values (233, 247794, '2003-02-24', 3, 0.5); +insert into ratings values (233, 247794, '2003-02-24', 4, 0.5); +insert into ratings values (233, 76196, '2002-01-29', 3, 0.6); +insert into ratings values (233, 76196, '2002-01-29', 4, 0.4); +insert into ratings values (233, 483483, '2003-11-12', 2, 0.2); +insert into ratings values (233, 483483, '2003-11-12', 3, 0.6); +insert into ratings values (233, 483483, '2003-11-12', 4, 0.2); +insert into ratings values (233, 360272, '2005-02-06', 3, 1.0); +insert into ratings values (233, 385977, '2004-10-09', 2, 0.7); +insert into ratings values (233, 385977, '2004-10-09', 3, 0.3); +insert into ratings values (234, 461910, '2004-01-17', 4, 0.5); +insert into ratings values (234, 461910, '2004-01-17', 5, 0.5); +insert into ratings values (234, 474419, '2003-10-16', 3, 1.0); +insert into ratings values (234, 492714, '2003-08-21', 3, 0.1); +insert into ratings values (234, 492714, '2003-08-21', 4, 0.3); +insert into ratings values (234, 492714, '2003-08-21', 5, 0.6); +insert into ratings values (234, 303156, '2004-10-01', 3, 0.4); +insert into ratings values (234, 303156, '2004-10-01', 4, 0.4); +insert into ratings values (234, 303156, '2004-10-01', 5, 0.2); +insert into ratings values (234, 276589, '2000-02-03', 2, 0.1); +insert into ratings values (234, 276589, '2000-02-03', 3, 0.4); +insert into ratings values (234, 276589, '2000-02-03', 4, 0.5); +insert into ratings values (235, 466862, '2005-10-26', 4, 1.0); +insert into ratings values (235, 429382, '2005-04-06', 3, 1.0); +insert into ratings values (235, 371300, '2003-12-10', 2, 0.4); +insert into ratings values (235, 371300, '2003-12-10', 3, 0.6); +insert into ratings values (235, 310049, '2004-04-02', 1, 0.2); +insert into ratings values (235, 310049, '2004-04-02', 2, 0.4); +insert into ratings values (235, 310049, '2004-04-02', 3, 0.4); +insert into ratings values (235, 28801, '2005-10-07', 2, 0.6); +insert into ratings values (235, 28801, '2005-10-07', 3, 0.4); +insert into ratings values (236, 335572, '2003-04-06', 1, 0.3); +insert into ratings values (236, 335572, '2003-04-06', 2, 0.7); +insert into ratings values (236, 31764, '2003-05-02', 1, 1.0); +insert into ratings values (236, 323012, '2003-03-04', 1, 0.1); +insert into ratings values (236, 323012, '2003-03-04', 2, 0.4); +insert into ratings values (236, 323012, '2003-03-04', 3, 0.5); +insert into ratings values (236, 302269, '2004-05-21', 1, 0.3); +insert into ratings values (236, 302269, '2004-05-21', 2, 0.6); +insert into ratings values (236, 302269, '2004-05-21', 3, 0.1); +insert into ratings values (236, 487949, '2003-06-09', 1, 1.0); +insert into ratings values (237, 497196, '2005-01-08', 4, 1.0); +insert into ratings values (237, 105942, '2005-12-27', 3, 0.6); +insert into ratings values (237, 105942, '2005-12-27', 4, 0.4); +insert into ratings values (237, 76196, '2001-12-27', 1, 1.0); +insert into ratings values (237, 499718, '2004-08-30', 2, 0.3); +insert into ratings values (237, 499718, '2004-08-30', 3, 0.5); +insert into ratings values (237, 499718, '2004-08-30', 4, 0.2); +insert into ratings values (237, 350559, '2005-10-12', 2, 0.4); +insert into ratings values (237, 350559, '2005-10-12', 3, 0.4); +insert into ratings values (237, 350559, '2005-10-12', 4, 0.2); +insert into ratings values (238, 306466, '2001-09-21', 4, 1.0); +insert into ratings values (238, 357521, '2003-09-11', 4, 1.0); +insert into ratings values (238, 109094, '2004-06-02', 3, 0.5); +insert into ratings values (238, 109094, '2004-06-02', 4, 0.5); +insert into ratings values (238, 66358, '2005-05-19', 4, 1.0); +insert into ratings values (238, 243437, '2004-06-10', 4, 0.5); +insert into ratings values (238, 243437, '2004-06-10', 5, 0.5); +insert into ratings values (239, 488477, '2004-09-16', 3, 0.2); +insert into ratings values (239, 488477, '2004-09-16', 4, 0.4); +insert into ratings values (239, 488477, '2004-09-16', 5, 0.4); +insert into ratings values (239, 497224, '2005-02-10', 5, 1.0); +insert into ratings values (239, 466063, '2004-09-27', 3, 1.0); +insert into ratings values (239, 330810, '2004-10-05', 2, 0.1); +insert into ratings values (239, 330810, '2004-10-05', 3, 0.6); +insert into ratings values (239, 330810, '2004-10-05', 4, 0.3); +insert into ratings values (239, 91007, '2004-06-11', 4, 1.0); +insert into ratings values (240, 93489, '2004-12-17', 4, 1.0); +insert into ratings values (240, 160977, '2005-01-08', 4, 0.5); +insert into ratings values (240, 160977, '2005-01-08', 5, 0.5); +insert into ratings values (240, 235838, '2005-04-06', 3, 0.1); +insert into ratings values (240, 235838, '2005-04-06', 4, 0.5); +insert into ratings values (240, 235838, '2005-04-06', 5, 0.4); +insert into ratings values (240, 235540, '2005-06-12', 4, 0.3); +insert into ratings values (240, 235540, '2005-06-12', 5, 0.7); +insert into ratings values (240, 454417, '2005-06-29', 3, 0.8); +insert into ratings values (240, 454417, '2005-06-29', 4, 0.2); +insert into ratings values (241, 53679, '2005-07-08', 3, 1.0); +insert into ratings values (241, 306466, '2001-03-15', 4, 0.6); +insert into ratings values (241, 306466, '2001-03-15', 5, 0.4); +insert into ratings values (241, 422507, '2005-07-14', 4, 0.4); +insert into ratings values (241, 422507, '2005-07-14', 5, 0.6); +insert into ratings values (241, 276813, '2004-01-23', 4, 0.6); +insert into ratings values (241, 276813, '2004-01-23', 5, 0.4); +insert into ratings values (241, 472137, '2005-07-19', 5, 1.0); +insert into ratings values (242, 457142, '2004-05-16', 1, 0.2); +insert into ratings values (242, 457142, '2004-05-16', 2, 0.5); +insert into ratings values (242, 457142, '2004-05-16', 3, 0.3); +insert into ratings values (242, 305151, '2004-03-10', 3, 0.1); +insert into ratings values (242, 305151, '2004-03-10', 4, 0.4); +insert into ratings values (242, 305151, '2004-03-10', 5, 0.5); +insert into ratings values (242, 342672, '2004-06-20', 5, 1.0); +insert into ratings values (242, 229944, '2005-01-30', 3, 0.3); +insert into ratings values (242, 229944, '2005-01-30', 4, 0.2); +insert into ratings values (242, 229944, '2005-01-30', 5, 0.5); +insert into ratings values (242, 149439, '2004-03-31', 3, 0.3); +insert into ratings values (242, 149439, '2004-03-31', 4, 0.7); +insert into ratings values (243, 385977, '2004-03-04', 5, 1.0); +insert into ratings values (243, 431646, '2005-04-06', 1, 0.2); +insert into ratings values (243, 431646, '2005-04-06', 2, 0.8); +insert into ratings values (243, 202667, '2004-11-09', 1, 0.5); +insert into ratings values (243, 202667, '2004-11-09', 2, 0.5); +insert into ratings values (243, 183435, '2005-10-15', 3, 1.0); +insert into ratings values (243, 439968, '2005-09-29', 2, 0.2); +insert into ratings values (243, 439968, '2005-09-29', 3, 0.6); +insert into ratings values (243, 439968, '2005-09-29', 4, 0.2); +insert into ratings values (244, 85856, '2005-01-19', 3, 0.5); +insert into ratings values (244, 85856, '2005-01-19', 4, 0.4); +insert into ratings values (244, 85856, '2005-01-19', 5, 0.1); +insert into ratings values (244, 469021, '2004-09-27', 2, 0.4); +insert into ratings values (244, 469021, '2004-09-27', 3, 0.4); +insert into ratings values (244, 469021, '2004-09-27', 4, 0.2); +insert into ratings values (244, 438290, '2005-02-17', 5, 1.0); +insert into ratings values (244, 81793, '2005-04-22', 5, 1.0); +insert into ratings values (244, 465287, '2004-12-23', 4, 1.0); +insert into ratings values (245, 498493, '2002-10-17', 4, 0.5); +insert into ratings values (245, 498493, '2002-10-17', 5, 0.5); +insert into ratings values (245, 476765, '2004-03-11', 3, 1.0); +insert into ratings values (245, 22842, '2003-05-01', 3, 0.6); +insert into ratings values (245, 22842, '2003-05-01', 4, 0.4); +insert into ratings values (245, 298689, '2003-07-14', 2, 0.2); +insert into ratings values (245, 298689, '2003-07-14', 3, 0.4); +insert into ratings values (245, 298689, '2003-07-14', 4, 0.4); +insert into ratings values (245, 167612, '2003-03-10', 2, 1.0); +insert into ratings values (246, 303948, '2004-09-13', 2, 0.1); +insert into ratings values (246, 303948, '2004-09-13', 3, 0.6); +insert into ratings values (246, 303948, '2004-09-13', 4, 0.3); +insert into ratings values (246, 62220, '2005-12-26', 1, 0.5); +insert into ratings values (246, 62220, '2005-12-26', 2, 0.4); +insert into ratings values (246, 62220, '2005-12-26', 3, 0.1); +insert into ratings values (246, 5412, '2004-09-21', 2, 0.2); +insert into ratings values (246, 5412, '2004-09-21', 3, 0.4); +insert into ratings values (246, 5412, '2004-09-21', 4, 0.4); +insert into ratings values (246, 321548, '2005-02-01', 2, 0.2); +insert into ratings values (246, 321548, '2005-02-01', 3, 0.6); +insert into ratings values (246, 321548, '2005-02-01', 4, 0.2); +insert into ratings values (246, 147653, '2005-04-06', 3, 0.5); +insert into ratings values (246, 147653, '2005-04-06', 4, 0.5); +insert into ratings values (247, 68365, '2005-05-07', 3, 0.5); +insert into ratings values (247, 68365, '2005-05-07', 4, 0.1); +insert into ratings values (247, 68365, '2005-05-07', 5, 0.4); +insert into ratings values (247, 327122, '2005-08-14', 2, 0.3); +insert into ratings values (247, 327122, '2005-08-14', 3, 0.4); +insert into ratings values (247, 327122, '2005-08-14', 4, 0.3); +insert into ratings values (247, 322178, '2005-08-04', 1, 0.4); +insert into ratings values (247, 322178, '2005-08-04', 2, 0.6); +insert into ratings values (247, 242426, '2005-06-17', 1, 0.1); +insert into ratings values (247, 242426, '2005-06-17', 2, 0.5); +insert into ratings values (247, 242426, '2005-06-17', 3, 0.4); +insert into ratings values (247, 292309, '2004-05-04', 1, 1.0); +insert into ratings values (248, 462930, '2004-08-27', 4, 1.0); +insert into ratings values (248, 306466, '2004-10-22', 3, 0.3); +insert into ratings values (248, 306466, '2004-10-22', 4, 0.7); +insert into ratings values (248, 146851, '2004-12-15', 4, 0.4); +insert into ratings values (248, 146851, '2004-12-15', 5, 0.6); +insert into ratings values (248, 187961, '2005-07-11', 3, 1.0); +insert into ratings values (248, 174868, '2004-10-16', 4, 1.0); +insert into ratings values (249, 145212, '2005-02-25', 4, 1.0); +insert into ratings values (249, 259348, '2004-06-29', 3, 0.7); +insert into ratings values (249, 259348, '2004-06-29', 4, 0.3); +insert into ratings values (249, 189143, '2005-12-03', 4, 1.0); +insert into ratings values (249, 202667, '2005-04-10', 3, 1.0); +insert into ratings values (249, 166456, '2005-09-16', 2, 0.6); +insert into ratings values (249, 166456, '2005-09-16', 3, 0.4); +insert into ratings values (250, 247794, '2002-05-10', 2, 0.2); +insert into ratings values (250, 247794, '2002-05-10', 3, 0.8); +insert into ratings values (250, 371965, '2005-04-06', 3, 1.0); +insert into ratings values (250, 259348, '2004-06-29', 2, 0.3); +insert into ratings values (250, 259348, '2004-06-29', 3, 0.5); +insert into ratings values (250, 259348, '2004-06-29', 4, 0.2); +insert into ratings values (250, 327179, '2005-08-10', 1, 0.5); +insert into ratings values (250, 327179, '2005-08-10', 2, 0.5); +insert into ratings values (250, 322178, '2005-02-18', 1, 0.4); +insert into ratings values (250, 322178, '2005-02-18', 2, 0.3); +insert into ratings values (250, 322178, '2005-02-18', 3, 0.3); +insert into ratings values (251, 146200, '2004-02-18', 3, 0.4); +insert into ratings values (251, 146200, '2004-02-18', 4, 0.2); +insert into ratings values (251, 146200, '2004-02-18', 5, 0.4); +insert into ratings values (251, 160977, '2005-05-02', 4, 0.3); +insert into ratings values (251, 160977, '2005-05-02', 5, 0.7); +insert into ratings values (251, 252207, '2004-06-11', 4, 0.5); +insert into ratings values (251, 252207, '2004-06-11', 5, 0.5); +insert into ratings values (251, 61166, '2004-07-21', 3, 0.4); +insert into ratings values (251, 61166, '2004-07-21', 4, 0.4); +insert into ratings values (251, 61166, '2004-07-21', 5, 0.2); +insert into ratings values (251, 21983, '2004-05-28', 4, 0.7); +insert into ratings values (251, 21983, '2004-05-28', 5, 0.3); +insert into ratings values (252, 181323, '2003-04-04', 2, 0.6); +insert into ratings values (252, 181323, '2003-04-04', 3, 0.4); +insert into ratings values (252, 63382, '2004-07-03', 4, 1.0); +insert into ratings values (252, 43601, '2003-03-12', 3, 0.6); +insert into ratings values (252, 43601, '2003-03-12', 4, 0.4); +insert into ratings values (252, 448870, '2003-01-15', 1, 1.0); +insert into ratings values (252, 445767, '2003-02-11', 4, 0.4); +insert into ratings values (252, 445767, '2003-02-11', 5, 0.6); +insert into ratings values (253, 139297, '2004-06-28', 3, 0.3); +insert into ratings values (253, 139297, '2004-06-28', 4, 0.6); +insert into ratings values (253, 139297, '2004-06-28', 5, 0.1); +insert into ratings values (253, 357521, '2005-06-26', 3, 0.4); +insert into ratings values (253, 357521, '2005-06-26', 4, 0.1); +insert into ratings values (253, 357521, '2005-06-26', 5, 0.5); +insert into ratings values (253, 306466, '2005-06-29', 4, 1.0); +insert into ratings values (253, 50409, '2005-07-23', 3, 0.3); +insert into ratings values (253, 50409, '2005-07-23', 4, 0.2); +insert into ratings values (253, 50409, '2005-07-23', 5, 0.5); +insert into ratings values (253, 163546, '2005-02-21', 5, 1.0); +insert into ratings values (254, 429281, '2004-12-21', 3, 1.0); +insert into ratings values (254, 303948, '2005-07-01', 2, 0.8); +insert into ratings values (254, 303948, '2005-07-01', 3, 0.2); +insert into ratings values (254, 8509, '2005-06-29', 3, 0.2); +insert into ratings values (254, 8509, '2005-06-29', 4, 0.3); +insert into ratings values (254, 8509, '2005-06-29', 5, 0.5); +insert into ratings values (254, 49828, '2005-06-04', 2, 0.7); +insert into ratings values (254, 49828, '2005-06-04', 3, 0.3); +insert into ratings values (254, 168827, '2005-01-13', 1, 0.3); +insert into ratings values (254, 168827, '2005-01-13', 2, 0.6); +insert into ratings values (254, 168827, '2005-01-13', 3, 0.1); +insert into ratings values (255, 63382, '2005-08-04', 3, 0.3); +insert into ratings values (255, 63382, '2005-08-04', 4, 0.6); +insert into ratings values (255, 63382, '2005-08-04', 5, 0.1); +insert into ratings values (255, 39956, '2003-11-22', 4, 0.2); +insert into ratings values (255, 39956, '2003-11-22', 5, 0.8); +insert into ratings values (255, 86879, '2002-12-18', 2, 0.2); +insert into ratings values (255, 86879, '2002-12-18', 3, 0.4); +insert into ratings values (255, 86879, '2002-12-18', 4, 0.4); +insert into ratings values (255, 284918, '2003-08-28', 2, 0.4); +insert into ratings values (255, 284918, '2003-08-28', 3, 0.4); +insert into ratings values (255, 284918, '2003-08-28', 4, 0.2); +insert into ratings values (255, 439072, '2004-01-07', 4, 1.0); +insert into ratings values (256, 364518, '2003-11-03', 3, 1.0); +insert into ratings values (256, 477388, '2000-12-27', 3, 1.0); +insert into ratings values (256, 449288, '2000-10-06', 3, 0.3); +insert into ratings values (256, 449288, '2000-10-06', 4, 0.7); +insert into ratings values (256, 66568, '2001-02-03', 3, 0.3); +insert into ratings values (256, 66568, '2001-02-03', 4, 0.4); +insert into ratings values (256, 66568, '2001-02-03', 5, 0.3); +insert into ratings values (256, 139053, '2002-03-04', 4, 1.0); +insert into ratings values (257, 364518, '2003-08-13', 3, 1.0); +insert into ratings values (257, 231140, '2005-07-10', 2, 0.1); +insert into ratings values (257, 231140, '2005-07-10', 3, 0.6); +insert into ratings values (257, 231140, '2005-07-10', 4, 0.3); +insert into ratings values (257, 91320, '2005-07-15', 3, 0.3); +insert into ratings values (257, 91320, '2005-07-15', 4, 0.5); +insert into ratings values (257, 91320, '2005-07-15', 5, 0.2); +insert into ratings values (257, 66568, '2005-07-16', 4, 1.0); +insert into ratings values (257, 30878, '2004-08-19', 4, 1.0); +insert into ratings values (258, 59100, '2005-05-14', 3, 0.3); +insert into ratings values (258, 59100, '2005-05-14', 4, 0.7); +insert into ratings values (258, 92592, '2005-06-21', 2, 0.2); +insert into ratings values (258, 92592, '2005-06-21', 3, 0.4); +insert into ratings values (258, 92592, '2005-06-21', 4, 0.4); +insert into ratings values (258, 274313, '2003-05-16', 2, 0.3); +insert into ratings values (258, 274313, '2003-05-16', 3, 0.7); +insert into ratings values (258, 487240, '2005-05-03', 3, 1.0); +insert into ratings values (258, 186179, '2001-01-02', 3, 0.5); +insert into ratings values (258, 186179, '2001-01-02', 4, 0.5); +insert into ratings values (259, 401290, '2005-12-30', 2, 0.2); +insert into ratings values (259, 401290, '2005-12-30', 3, 0.5); +insert into ratings values (259, 401290, '2005-12-30', 4, 0.3); +insert into ratings values (259, 279376, '2005-11-17', 3, 0.3); +insert into ratings values (259, 279376, '2005-11-17', 4, 0.7); +insert into ratings values (259, 244045, '2005-10-25', 3, 0.4); +insert into ratings values (259, 244045, '2005-10-25', 4, 0.6); +insert into ratings values (259, 173300, '2005-11-03', 3, 0.6); +insert into ratings values (259, 173300, '2005-11-03', 4, 0.4); +insert into ratings values (259, 134161, '2005-11-11', 2, 0.2); +insert into ratings values (259, 134161, '2005-11-11', 3, 0.6); +insert into ratings values (259, 134161, '2005-11-11', 4, 0.2); +insert into ratings values (260, 115498, '2002-04-05', 1, 1.0); +insert into ratings values (260, 76196, '2001-12-20', 1, 1.0); +insert into ratings values (260, 147224, '2004-11-01', 4, 0.2); +insert into ratings values (260, 147224, '2004-11-01', 5, 0.8); +insert into ratings values (260, 450117, '2001-01-09', 2, 1.0); +insert into ratings values (260, 8121, '2005-10-24', 1, 1.0); +insert into ratings values (261, 499718, '2005-05-02', 2, 0.3); +insert into ratings values (261, 499718, '2005-05-02', 3, 0.4); +insert into ratings values (261, 499718, '2005-05-02', 4, 0.3); +insert into ratings values (261, 427561, '2004-09-02', 4, 0.4); +insert into ratings values (261, 427561, '2004-09-02', 5, 0.6); +insert into ratings values (261, 114904, '2004-11-21', 3, 0.1); +insert into ratings values (261, 114904, '2004-11-21', 4, 0.5); +insert into ratings values (261, 114904, '2004-11-21', 5, 0.4); +insert into ratings values (261, 178588, '2005-08-29', 4, 1.0); +insert into ratings values (261, 385977, '2005-01-02', 4, 0.5); +insert into ratings values (261, 385977, '2005-01-02', 5, 0.5); +insert into ratings values (262, 113878, '2005-08-20', 4, 1.0); +insert into ratings values (262, 178131, '2004-12-26', 4, 0.7); +insert into ratings values (262, 178131, '2004-12-26', 5, 0.3); +insert into ratings values (262, 30878, '2005-01-24', 3, 0.6); +insert into ratings values (262, 30878, '2005-01-24', 4, 0.4); +insert into ratings values (262, 41412, '2005-06-15', 2, 0.3); +insert into ratings values (262, 41412, '2005-06-15', 3, 0.7); +insert into ratings values (262, 283334, '2005-11-16', 3, 1.0); +insert into ratings values (263, 48536, '2005-10-29', 3, 0.3); +insert into ratings values (263, 48536, '2005-10-29', 4, 0.1); +insert into ratings values (263, 48536, '2005-10-29', 5, 0.6); +insert into ratings values (263, 284918, '2004-12-22', 4, 0.5); +insert into ratings values (263, 284918, '2004-12-22', 5, 0.5); +insert into ratings values (263, 101930, '2005-01-05', 2, 0.6); +insert into ratings values (263, 101930, '2005-01-05', 3, 0.4); +insert into ratings values (263, 264160, '2005-07-06', 4, 0.4); +insert into ratings values (263, 264160, '2005-07-06', 5, 0.6); +insert into ratings values (263, 223183, '2004-08-23', 3, 0.4); +insert into ratings values (263, 223183, '2004-08-23', 4, 0.6); +insert into ratings values (264, 461110, '2004-11-29', 1, 0.7); +insert into ratings values (264, 461110, '2004-11-29', 2, 0.3); +insert into ratings values (264, 170899, '2005-02-14', 4, 0.5); +insert into ratings values (264, 170899, '2005-02-14', 5, 0.5); +insert into ratings values (264, 427928, '2004-08-13', 3, 1.0); +insert into ratings values (264, 106259, '2004-12-09', 4, 1.0); +insert into ratings values (264, 322944, '2005-03-02', 3, 0.4); +insert into ratings values (264, 322944, '2005-03-02', 4, 0.6); +insert into ratings values (265, 54596, '2003-08-05', 3, 0.4); +insert into ratings values (265, 54596, '2003-08-05', 4, 0.6); +insert into ratings values (265, 119287, '2003-10-11', 4, 1.0); +insert into ratings values (265, 118488, '2003-05-29', 3, 1.0); +insert into ratings values (265, 300074, '2005-07-09', 1, 1.0); +insert into ratings values (265, 491331, '2005-09-05', 2, 1.0); +insert into ratings values (266, 247950, '2005-11-28', 3, 1.0); +insert into ratings values (266, 399705, '2005-03-02', 4, 0.5); +insert into ratings values (266, 399705, '2005-03-02', 5, 0.5); +insert into ratings values (266, 311240, '2005-03-19', 3, 0.8); +insert into ratings values (266, 311240, '2005-03-19', 4, 0.2); +insert into ratings values (266, 285166, '2005-05-22', 3, 0.3); +insert into ratings values (266, 285166, '2005-05-22', 4, 0.3); +insert into ratings values (266, 285166, '2005-05-22', 5, 0.4); +insert into ratings values (266, 373956, '2005-10-05', 1, 0.6); +insert into ratings values (266, 373956, '2005-10-05', 2, 0.4); +insert into ratings values (267, 307505, '2005-08-14', 4, 0.2); +insert into ratings values (267, 307505, '2005-08-14', 5, 0.8); +insert into ratings values (267, 416365, '2005-09-24', 2, 1.0); +insert into ratings values (267, 200255, '2005-09-28', 1, 0.6); +insert into ratings values (267, 200255, '2005-09-28', 2, 0.4); +insert into ratings values (267, 303948, '2005-08-15', 3, 0.1); +insert into ratings values (267, 303948, '2005-08-15', 4, 0.6); +insert into ratings values (267, 303948, '2005-08-15', 5, 0.3); +insert into ratings values (267, 251043, '2005-04-02', 1, 0.3); +insert into ratings values (267, 251043, '2005-04-02', 2, 0.4); +insert into ratings values (267, 251043, '2005-04-02', 3, 0.3); +insert into ratings values (268, 175214, '2005-07-24', 2, 0.3); +insert into ratings values (268, 175214, '2005-07-24', 3, 0.5); +insert into ratings values (268, 175214, '2005-07-24', 4, 0.2); +insert into ratings values (268, 139297, '2004-08-24', 3, 0.3); +insert into ratings values (268, 139297, '2004-08-24', 4, 0.6); +insert into ratings values (268, 139297, '2004-08-24', 5, 0.1); +insert into ratings values (268, 263315, '2004-08-19', 2, 0.1); +insert into ratings values (268, 263315, '2004-08-19', 3, 0.5); +insert into ratings values (268, 263315, '2004-08-19', 4, 0.4); +insert into ratings values (268, 30878, '2004-10-20', 2, 1.0); +insert into ratings values (268, 51971, '2005-02-16', 3, 0.3); +insert into ratings values (268, 51971, '2005-02-16', 4, 0.1); +insert into ratings values (268, 51971, '2005-02-16', 5, 0.6); +insert into ratings values (269, 69867, '2001-10-04', 2, 0.3); +insert into ratings values (269, 69867, '2001-10-04', 3, 0.6); +insert into ratings values (269, 69867, '2001-10-04', 4, 0.1); +insert into ratings values (269, 306466, '2001-04-28', 3, 1.0); +insert into ratings values (269, 276813, '2001-01-03', 3, 0.4); +insert into ratings values (269, 276813, '2001-01-03', 4, 0.6); +insert into ratings values (269, 41412, '2001-06-27', 2, 0.6); +insert into ratings values (269, 41412, '2001-06-27', 3, 0.4); +insert into ratings values (269, 393953, '2004-09-03', 2, 0.4); +insert into ratings values (269, 393953, '2004-09-03', 3, 0.4); +insert into ratings values (269, 393953, '2004-09-03', 4, 0.2); +insert into ratings values (270, 306466, '2004-04-13', 4, 1.0); +insert into ratings values (270, 254711, '2005-07-12', 1, 0.6); +insert into ratings values (270, 254711, '2005-07-12', 2, 0.4); +insert into ratings values (270, 109425, '2005-07-14', 4, 0.5); +insert into ratings values (270, 109425, '2005-07-14', 5, 0.5); +insert into ratings values (270, 29545, '2005-07-15', 4, 1.0); +insert into ratings values (270, 120539, '2005-07-16', 2, 0.4); +insert into ratings values (270, 120539, '2005-07-16', 3, 0.6); +insert into ratings values (271, 71148, '2004-09-07', 2, 1.0); +insert into ratings values (271, 403531, '2005-04-03', 4, 0.4); +insert into ratings values (271, 403531, '2005-04-03', 5, 0.6); +insert into ratings values (271, 322178, '2005-03-17', 1, 1.0); +insert into ratings values (271, 290916, '2004-08-04', 1, 0.3); +insert into ratings values (271, 290916, '2004-08-04', 2, 0.7); +insert into ratings values (271, 85550, '2004-07-04', 2, 0.1); +insert into ratings values (271, 85550, '2004-07-04', 3, 0.5); +insert into ratings values (271, 85550, '2004-07-04', 4, 0.4); +insert into ratings values (272, 247794, '2005-11-30', 3, 1.0); +insert into ratings values (272, 371897, '2005-12-08', 5, 1.0); +insert into ratings values (272, 79355, '2005-11-08', 1, 1.0); +insert into ratings values (272, 12974, '2005-11-14', 3, 0.7); +insert into ratings values (272, 12974, '2005-11-14', 4, 0.3); +insert into ratings values (272, 391325, '2005-10-27', 5, 1.0); +insert into ratings values (273, 254711, '2005-07-12', 4, 0.2); +insert into ratings values (273, 254711, '2005-07-12', 5, 0.8); +insert into ratings values (273, 442739, '2005-07-13', 3, 1.0); +insert into ratings values (273, 469857, '2005-07-18', 2, 0.3); +insert into ratings values (273, 469857, '2005-07-18', 3, 0.4); +insert into ratings values (273, 469857, '2005-07-18', 4, 0.3); +insert into ratings values (273, 409473, '2005-09-02', 1, 0.5); +insert into ratings values (273, 409473, '2005-09-02', 2, 0.2); +insert into ratings values (273, 409473, '2005-09-02', 3, 0.3); +insert into ratings values (273, 308495, '2004-12-03', 5, 1.0); +insert into ratings values (274, 293901, '2003-12-02', 3, 1.0); +insert into ratings values (274, 318939, '2003-11-10', 1, 0.5); +insert into ratings values (274, 318939, '2003-11-10', 2, 0.1); +insert into ratings values (274, 318939, '2003-11-10', 3, 0.4); +insert into ratings values (274, 122188, '2003-07-10', 2, 0.2); +insert into ratings values (274, 122188, '2003-07-10', 3, 0.5); +insert into ratings values (274, 122188, '2003-07-10', 4, 0.3); +insert into ratings values (274, 41065, '2003-04-15', 1, 0.1); +insert into ratings values (274, 41065, '2003-04-15', 2, 0.4); +insert into ratings values (274, 41065, '2003-04-15', 3, 0.5); +insert into ratings values (274, 173300, '2003-07-29', 2, 1.0); +insert into ratings values (275, 181323, '2003-11-19', 3, 0.3); +insert into ratings values (275, 181323, '2003-11-19', 4, 0.6); +insert into ratings values (275, 181323, '2003-11-19', 5, 0.1); +insert into ratings values (275, 43601, '2003-07-07', 3, 0.3); +insert into ratings values (275, 43601, '2003-07-07', 4, 0.4); +insert into ratings values (275, 43601, '2003-07-07', 5, 0.3); +insert into ratings values (275, 304789, '2003-10-14', 2, 0.4); +insert into ratings values (275, 304789, '2003-10-14', 3, 0.4); +insert into ratings values (275, 304789, '2003-10-14', 4, 0.2); +insert into ratings values (275, 383894, '2003-09-11', 4, 1.0); +insert into ratings values (275, 412196, '2004-08-16', 4, 1.0); +insert into ratings values (276, 179489, '2005-03-02', 2, 1.0); +insert into ratings values (276, 494060, '2002-05-03', 2, 1.0); +insert into ratings values (276, 127386, '2002-01-22', 1, 0.4); +insert into ratings values (276, 127386, '2002-01-22', 2, 0.4); +insert into ratings values (276, 127386, '2002-01-22', 3, 0.2); +insert into ratings values (276, 235789, '2004-10-27', 2, 1.0); +insert into ratings values (276, 345172, '2002-09-14', 1, 1.0); +insert into ratings values (277, 373295, '2004-12-01', 3, 1.0); +insert into ratings values (277, 290215, '2004-02-19', 2, 0.1); +insert into ratings values (277, 290215, '2004-02-19', 3, 0.5); +insert into ratings values (277, 290215, '2004-02-19', 4, 0.4); +insert into ratings values (277, 306420, '2004-04-19', 2, 0.2); +insert into ratings values (277, 306420, '2004-04-19', 3, 0.8); +insert into ratings values (277, 448549, '2004-03-16', 2, 0.3); +insert into ratings values (277, 448549, '2004-03-16', 3, 0.5); +insert into ratings values (277, 448549, '2004-03-16', 4, 0.2); +insert into ratings values (277, 27929, '2004-11-15', 5, 1.0); +insert into ratings values (278, 409567, '2005-05-12', 1, 0.4); +insert into ratings values (278, 409567, '2005-05-12', 2, 0.5); +insert into ratings values (278, 409567, '2005-05-12', 3, 0.1); +insert into ratings values (278, 316729, '2001-10-10', 1, 0.1); +insert into ratings values (278, 316729, '2001-10-10', 2, 0.5); +insert into ratings values (278, 316729, '2001-10-10', 3, 0.4); +insert into ratings values (278, 319827, '2005-09-18', 2, 0.2); +insert into ratings values (278, 319827, '2005-09-18', 3, 0.8); +insert into ratings values (278, 374100, '2005-07-11', 2, 0.8); +insert into ratings values (278, 374100, '2005-07-11', 3, 0.2); +insert into ratings values (278, 166963, '2001-07-22', 2, 1.0); +insert into ratings values (279, 160600, '2005-01-19', 3, 1.0); +insert into ratings values (279, 264596, '2005-03-24', 3, 1.0); +insert into ratings values (279, 360412, '2005-07-20', 3, 1.0); +insert into ratings values (279, 149903, '2005-01-25', 1, 0.3); +insert into ratings values (279, 149903, '2005-01-25', 2, 0.4); +insert into ratings values (279, 149903, '2005-01-25', 3, 0.3); +insert into ratings values (279, 99798, '2005-06-06', 3, 0.5); +insert into ratings values (279, 99798, '2005-06-06', 4, 0.5); +insert into ratings values (280, 391744, '2005-06-27', 3, 0.5); +insert into ratings values (280, 391744, '2005-06-27', 4, 0.5); +insert into ratings values (280, 365984, '2002-12-31', 3, 0.2); +insert into ratings values (280, 365984, '2002-12-31', 4, 0.2); +insert into ratings values (280, 365984, '2002-12-31', 5, 0.6); +insert into ratings values (280, 322178, '2005-03-17', 1, 0.6); +insert into ratings values (280, 322178, '2005-03-17', 2, 0.1); +insert into ratings values (280, 322178, '2005-03-17', 3, 0.3); +insert into ratings values (280, 333277, '2005-08-04', 4, 0.5); +insert into ratings values (280, 333277, '2005-08-04', 5, 0.5); +insert into ratings values (280, 413637, '2003-11-24', 3, 0.3); +insert into ratings values (280, 413637, '2003-11-24', 4, 0.7); +insert into ratings values (281, 175214, '2005-07-19', 4, 1.0); +insert into ratings values (281, 229944, '2005-01-30', 3, 0.4); +insert into ratings values (281, 229944, '2005-01-30', 4, 0.6); +insert into ratings values (281, 140292, '2005-07-03', 3, 0.3); +insert into ratings values (281, 140292, '2005-07-03', 4, 0.6); +insert into ratings values (281, 140292, '2005-07-03', 5, 0.1); +insert into ratings values (281, 152764, '2005-12-20', 2, 0.3); +insert into ratings values (281, 152764, '2005-12-20', 3, 0.5); +insert into ratings values (281, 152764, '2005-12-20', 4, 0.2); +insert into ratings values (281, 497196, '2004-01-12', 1, 1.0); +insert into ratings values (282, 113677, '2004-12-07', 4, 1.0); +insert into ratings values (282, 294993, '2005-07-05', 2, 0.2); +insert into ratings values (282, 294993, '2005-07-05', 3, 0.5); +insert into ratings values (282, 294993, '2005-07-05', 4, 0.3); +insert into ratings values (282, 303948, '2005-03-11', 3, 1.0); +insert into ratings values (282, 313872, '2004-10-13', 3, 1.0); +insert into ratings values (282, 40063, '2004-10-15', 4, 0.8); +insert into ratings values (282, 40063, '2004-10-15', 5, 0.2); +insert into ratings values (283, 306466, '2001-11-06', 3, 1.0); +insert into ratings values (283, 395744, '2005-08-13', 3, 1.0); +insert into ratings values (283, 442739, '2005-01-05', 3, 0.3); +insert into ratings values (283, 442739, '2005-01-05', 4, 0.2); +insert into ratings values (283, 442739, '2005-01-05', 5, 0.5); +insert into ratings values (283, 44317, '2005-05-14', 3, 0.4); +insert into ratings values (283, 44317, '2005-05-14', 4, 0.6); +insert into ratings values (283, 58248, '2005-07-10', 3, 0.2); +insert into ratings values (283, 58248, '2005-07-10', 4, 0.5); +insert into ratings values (283, 58248, '2005-07-10', 5, 0.3); +insert into ratings values (284, 471879, '2005-05-20', 2, 1.0); +insert into ratings values (284, 428204, '2005-07-22', 1, 0.7); +insert into ratings values (284, 428204, '2005-07-22', 2, 0.3); +insert into ratings values (284, 113090, '2005-07-08', 2, 1.0); +insert into ratings values (284, 441938, '2005-09-20', 3, 0.3); +insert into ratings values (284, 441938, '2005-09-20', 4, 0.4); +insert into ratings values (284, 441938, '2005-09-20', 5, 0.3); +insert into ratings values (284, 147386, '2005-07-07', 3, 1.0); +insert into ratings values (285, 364518, '2004-01-27', 2, 1.0); +insert into ratings values (285, 306466, '2001-04-27', 1, 0.4); +insert into ratings values (285, 306466, '2001-04-27', 2, 0.6); +insert into ratings values (285, 477388, '2000-05-02', 2, 0.5); +insert into ratings values (285, 477388, '2000-05-02', 3, 0.4); +insert into ratings values (285, 477388, '2000-05-02', 4, 0.1); +insert into ratings values (285, 276813, '2001-01-03', 3, 0.5); +insert into ratings values (285, 276813, '2001-01-03', 4, 0.5); +insert into ratings values (285, 30878, '2004-01-25', 3, 1.0); +insert into ratings values (286, 303321, '2005-04-07', 3, 0.1); +insert into ratings values (286, 303321, '2005-04-07', 4, 0.6); +insert into ratings values (286, 303321, '2005-04-07', 5, 0.3); +insert into ratings values (286, 384378, '2005-02-19', 3, 0.2); +insert into ratings values (286, 384378, '2005-02-19', 4, 0.5); +insert into ratings values (286, 384378, '2005-02-19', 5, 0.3); +insert into ratings values (286, 212022, '2005-06-16', 2, 0.2); +insert into ratings values (286, 212022, '2005-06-16', 3, 0.4); +insert into ratings values (286, 212022, '2005-06-16', 4, 0.4); +insert into ratings values (286, 305451, '2004-11-27', 1, 0.6); +insert into ratings values (286, 305451, '2004-11-27', 2, 0.3); +insert into ratings values (286, 305451, '2004-11-27', 3, 0.1); +insert into ratings values (286, 354704, '2004-09-28', 3, 0.5); +insert into ratings values (286, 354704, '2004-09-28', 4, 0.4); +insert into ratings values (286, 354704, '2004-09-28', 5, 0.1); +insert into ratings values (287, 363908, '2003-09-15', 4, 1.0); +insert into ratings values (287, 289162, '2003-09-29', 1, 0.3); +insert into ratings values (287, 289162, '2003-09-29', 2, 0.5); +insert into ratings values (287, 289162, '2003-09-29', 3, 0.2); +insert into ratings values (287, 306420, '2004-01-24', 4, 1.0); +insert into ratings values (287, 66109, '2004-09-27', 1, 0.1); +insert into ratings values (287, 66109, '2004-09-27', 2, 0.5); +insert into ratings values (287, 66109, '2004-09-27', 3, 0.4); +insert into ratings values (287, 459331, '2005-01-24', 4, 0.5); +insert into ratings values (287, 459331, '2005-01-24', 5, 0.5); +insert into ratings values (288, 474582, '2005-06-25', 2, 0.1); +insert into ratings values (288, 474582, '2005-06-25', 3, 0.4); +insert into ratings values (288, 474582, '2005-06-25', 4, 0.5); +insert into ratings values (288, 83803, '2005-10-14', 4, 1.0); +insert into ratings values (288, 421709, '2004-10-07', 3, 0.2); +insert into ratings values (288, 421709, '2004-10-07', 4, 0.6); +insert into ratings values (288, 421709, '2004-10-07', 5, 0.2); +insert into ratings values (288, 119287, '2005-04-09', 3, 0.1); +insert into ratings values (288, 119287, '2005-04-09', 4, 0.6); +insert into ratings values (288, 119287, '2005-04-09', 5, 0.3); +insert into ratings values (288, 464309, '2005-01-07', 4, 1.0); +insert into ratings values (289, 68845, '2003-01-21', 1, 1.0); +insert into ratings values (289, 63170, '2004-04-14', 2, 0.1); +insert into ratings values (289, 63170, '2004-04-14', 3, 0.5); +insert into ratings values (289, 63170, '2004-04-14', 4, 0.4); +insert into ratings values (289, 208356, '2003-04-22', 3, 0.1); +insert into ratings values (289, 208356, '2003-04-22', 4, 0.6); +insert into ratings values (289, 208356, '2003-04-22', 5, 0.3); +insert into ratings values (289, 149439, '2003-03-23', 1, 0.2); +insert into ratings values (289, 149439, '2003-03-23', 2, 0.8); +insert into ratings values (289, 461110, '2003-03-16', 1, 1.0); +insert into ratings values (290, 169485, '2005-07-18', 3, 0.2); +insert into ratings values (290, 169485, '2005-07-18', 4, 0.6); +insert into ratings values (290, 169485, '2005-07-18', 5, 0.2); +insert into ratings values (290, 423950, '2005-07-20', 4, 0.7); +insert into ratings values (290, 423950, '2005-07-20', 5, 0.3); +insert into ratings values (290, 359927, '2005-07-24', 2, 0.2); +insert into ratings values (290, 359927, '2005-07-24', 3, 0.6); +insert into ratings values (290, 359927, '2005-07-24', 4, 0.2); +insert into ratings values (290, 33916, '2005-07-31', 3, 1.0); +insert into ratings values (290, 226739, '2005-08-08', 1, 0.5); +insert into ratings values (290, 226739, '2005-08-08', 2, 0.4); +insert into ratings values (290, 226739, '2005-08-08', 3, 0.1); +insert into ratings values (291, 129710, '2001-05-21', 2, 1.0); +insert into ratings values (291, 235789, '2004-10-27', 2, 0.4); +insert into ratings values (291, 235789, '2004-10-27', 3, 0.6); +insert into ratings values (291, 49949, '2004-05-24', 1, 1.0); +insert into ratings values (291, 473435, '2005-05-28', 1, 0.3); +insert into ratings values (291, 473435, '2005-05-28', 2, 0.6); +insert into ratings values (291, 473435, '2005-05-28', 3, 0.1); +insert into ratings values (291, 12974, '2005-09-12', 1, 0.1); +insert into ratings values (291, 12974, '2005-09-12', 2, 0.6); +insert into ratings values (291, 12974, '2005-09-12', 3, 0.3); +insert into ratings values (292, 318939, '2005-12-13', 3, 0.1); +insert into ratings values (292, 318939, '2005-12-13', 4, 0.4); +insert into ratings values (292, 318939, '2005-12-13', 5, 0.5); +insert into ratings values (292, 303948, '2005-09-12', 3, 0.2); +insert into ratings values (292, 303948, '2005-09-12', 4, 0.5); +insert into ratings values (292, 303948, '2005-09-12', 5, 0.3); +insert into ratings values (292, 33330, '2005-10-17', 3, 0.2); +insert into ratings values (292, 33330, '2005-10-17', 4, 0.6); +insert into ratings values (292, 33330, '2005-10-17', 5, 0.2); +insert into ratings values (292, 389017, '2005-11-15', 4, 0.6); +insert into ratings values (292, 389017, '2005-11-15', 5, 0.4); +insert into ratings values (292, 65841, '2005-10-19', 4, 1.0); +insert into ratings values (293, 66358, '2005-06-15', 3, 0.7); +insert into ratings values (293, 66358, '2005-06-15', 4, 0.3); +insert into ratings values (293, 243437, '2004-04-06', 3, 0.4); +insert into ratings values (293, 243437, '2004-04-06', 4, 0.5); +insert into ratings values (293, 243437, '2004-04-06', 5, 0.1); +insert into ratings values (293, 141772, '2005-11-28', 3, 0.3); +insert into ratings values (293, 141772, '2005-11-28', 4, 0.2); +insert into ratings values (293, 141772, '2005-11-28', 5, 0.5); +insert into ratings values (293, 491331, '2005-09-04', 3, 0.4); +insert into ratings values (293, 491331, '2005-09-04', 4, 0.1); +insert into ratings values (293, 491331, '2005-09-04', 5, 0.5); +insert into ratings values (293, 196090, '2003-12-20', 2, 0.3); +insert into ratings values (293, 196090, '2003-12-20', 3, 0.5); +insert into ratings values (293, 196090, '2003-12-20', 4, 0.2); +insert into ratings values (294, 497196, '2005-05-11', 2, 0.3); +insert into ratings values (294, 497196, '2005-05-11', 3, 0.6); +insert into ratings values (294, 497196, '2005-05-11', 4, 0.1); +insert into ratings values (294, 327122, '2005-10-20', 3, 0.2); +insert into ratings values (294, 327122, '2005-10-20', 4, 0.4); +insert into ratings values (294, 327122, '2005-10-20', 5, 0.4); +insert into ratings values (294, 122786, '2005-09-05', 1, 0.5); +insert into ratings values (294, 122786, '2005-09-05', 2, 0.4); +insert into ratings values (294, 122786, '2005-09-05', 3, 0.1); +insert into ratings values (294, 287639, '2005-01-01', 3, 0.6); +insert into ratings values (294, 287639, '2005-01-01', 4, 0.4); +insert into ratings values (294, 385639, '2005-04-29', 1, 0.7); +insert into ratings values (294, 385639, '2005-04-29', 2, 0.3); +insert into ratings values (295, 69867, '2000-02-16', 3, 1.0); +insert into ratings values (295, 306466, '2001-02-27', 2, 0.6); +insert into ratings values (295, 306466, '2001-02-27', 3, 0.4); +insert into ratings values (295, 477388, '2000-04-17', 4, 0.5); +insert into ratings values (295, 477388, '2000-04-17', 5, 0.5); +insert into ratings values (295, 66568, '2001-02-03', 5, 1.0); +insert into ratings values (295, 132390, '2004-04-15', 3, 0.4); +insert into ratings values (295, 132390, '2004-04-15', 4, 0.2); +insert into ratings values (295, 132390, '2004-04-15', 5, 0.4); +insert into ratings values (296, 304844, '2003-11-07', 2, 1.0); +insert into ratings values (296, 8336, '2002-09-18', 3, 0.3); +insert into ratings values (296, 8336, '2002-09-18', 4, 0.5); +insert into ratings values (296, 8336, '2002-09-18', 5, 0.2); +insert into ratings values (296, 376992, '2004-02-10', 3, 0.3); +insert into ratings values (296, 376992, '2004-02-10', 4, 0.5); +insert into ratings values (296, 376992, '2004-02-10', 5, 0.2); +insert into ratings values (296, 135650, '2002-09-09', 2, 0.4); +insert into ratings values (296, 135650, '2002-09-09', 3, 0.6); +insert into ratings values (296, 56605, '2003-05-20', 2, 0.2); +insert into ratings values (296, 56605, '2003-05-20', 3, 0.8); +insert into ratings values (297, 166830, '2004-10-25', 3, 0.1); +insert into ratings values (297, 166830, '2004-10-25', 4, 0.3); +insert into ratings values (297, 166830, '2004-10-25', 5, 0.6); +insert into ratings values (297, 276813, '2004-12-23', 3, 0.3); +insert into ratings values (297, 276813, '2004-12-23', 4, 0.1); +insert into ratings values (297, 276813, '2004-12-23', 5, 0.6); +insert into ratings values (297, 146851, '2005-10-03', 4, 1.0); +insert into ratings values (297, 349844, '2005-01-11', 2, 0.6); +insert into ratings values (297, 349844, '2005-01-11', 3, 0.4); +insert into ratings values (297, 498369, '2005-01-31', 3, 0.2); +insert into ratings values (297, 498369, '2005-01-31', 4, 0.4); +insert into ratings values (297, 498369, '2005-01-31', 5, 0.4); +insert into ratings values (298, 212806, '2004-09-04', 3, 0.1); +insert into ratings values (298, 212806, '2004-09-04', 4, 0.5); +insert into ratings values (298, 212806, '2004-09-04', 5, 0.4); +insert into ratings values (298, 237658, '2005-04-26', 2, 0.3); +insert into ratings values (298, 237658, '2005-04-26', 3, 0.7); +insert into ratings values (298, 415580, '2005-02-09', 1, 0.5); +insert into ratings values (298, 415580, '2005-02-09', 2, 0.1); +insert into ratings values (298, 415580, '2005-02-09', 3, 0.4); +insert into ratings values (298, 94123, '2005-03-20', 3, 0.2); +insert into ratings values (298, 94123, '2005-03-20', 4, 0.3); +insert into ratings values (298, 94123, '2005-03-20', 5, 0.5); +insert into ratings values (298, 27200, '2004-05-09', 3, 0.8); +insert into ratings values (298, 27200, '2004-05-09', 4, 0.2); +insert into ratings values (299, 306466, '2001-10-30', 4, 1.0); +insert into ratings values (299, 66568, '2004-03-03', 1, 0.5); +insert into ratings values (299, 66568, '2004-03-03', 2, 0.5); +insert into ratings values (299, 307939, '2004-08-02', 4, 1.0); +insert into ratings values (299, 393953, '2004-09-03', 2, 0.2); +insert into ratings values (299, 393953, '2004-09-03', 3, 0.6); +insert into ratings values (299, 393953, '2004-09-03', 4, 0.2); +insert into ratings values (299, 276837, '2005-07-18', 3, 0.3); +insert into ratings values (299, 276837, '2005-07-18', 4, 0.1); +insert into ratings values (299, 276837, '2005-07-18', 5, 0.6); +insert into ratings values (300, 76196, '2001-12-27', 1, 0.5); +insert into ratings values (300, 76196, '2001-12-27', 2, 0.5); +insert into ratings values (300, 165698, '2003-04-28', 2, 0.3); +insert into ratings values (300, 165698, '2003-04-28', 3, 0.7); +insert into ratings values (300, 380192, '2001-02-09', 4, 1.0); +insert into ratings values (300, 79468, '2002-01-13', 4, 0.6); +insert into ratings values (300, 79468, '2002-01-13', 5, 0.4); +insert into ratings values (300, 24373, '2003-06-09', 3, 1.0); +insert into ratings values (301, 193223, '2005-06-07', 2, 0.2); +insert into ratings values (301, 193223, '2005-06-07', 3, 0.4); +insert into ratings values (301, 193223, '2005-06-07', 4, 0.4); +insert into ratings values (301, 160872, '2005-06-06', 3, 1.0); +insert into ratings values (301, 360888, '2005-07-11', 1, 0.3); +insert into ratings values (301, 360888, '2005-07-11', 2, 0.4); +insert into ratings values (301, 360888, '2005-07-11', 3, 0.3); +insert into ratings values (301, 191071, '2005-07-25', 2, 0.5); +insert into ratings values (301, 191071, '2005-07-25', 3, 0.5); +insert into ratings values (301, 173915, '2005-06-28', 2, 1.0); +insert into ratings values (302, 364518, '2004-06-16', 2, 0.6); +insert into ratings values (302, 364518, '2004-06-16', 3, 0.4); +insert into ratings values (302, 497196, '2003-05-31', 4, 1.0); +insert into ratings values (302, 122786, '2005-03-10', 2, 0.3); +insert into ratings values (302, 122786, '2005-03-10', 3, 0.7); +insert into ratings values (302, 47411, '2005-01-19', 2, 0.3); +insert into ratings values (302, 47411, '2005-01-19', 3, 0.5); +insert into ratings values (302, 47411, '2005-01-19', 4, 0.2); +insert into ratings values (302, 376884, '2005-01-04', 4, 1.0); +insert into ratings values (303, 115929, '2005-06-06', 2, 0.1); +insert into ratings values (303, 115929, '2005-06-06', 3, 0.6); +insert into ratings values (303, 115929, '2005-06-06', 4, 0.3); +insert into ratings values (303, 349528, '2003-08-25', 3, 0.6); +insert into ratings values (303, 349528, '2003-08-25', 4, 0.4); +insert into ratings values (303, 16355, '2004-02-11', 3, 0.8); +insert into ratings values (303, 16355, '2004-02-11', 4, 0.2); +insert into ratings values (303, 38097, '2004-07-29', 3, 1.0); +insert into ratings values (303, 185736, '2005-07-22', 3, 0.2); +insert into ratings values (303, 185736, '2005-07-22', 4, 0.5); +insert into ratings values (303, 185736, '2005-07-22', 5, 0.3); +insert into ratings values (304, 66187, '2005-08-22', 3, 0.4); +insert into ratings values (304, 66187, '2005-08-22', 4, 0.2); +insert into ratings values (304, 66187, '2005-08-22', 5, 0.4); +insert into ratings values (304, 463218, '2004-02-26', 1, 1.0); +insert into ratings values (304, 477388, '2005-10-15', 2, 1.0); +insert into ratings values (304, 329896, '2005-12-14', 5, 1.0); +insert into ratings values (304, 50409, '2004-12-07', 3, 0.4); +insert into ratings values (304, 50409, '2004-12-07', 4, 0.1); +insert into ratings values (304, 50409, '2004-12-07', 5, 0.5); +insert into ratings values (305, 113878, '2005-07-24', 3, 0.2); +insert into ratings values (305, 113878, '2005-07-24', 4, 0.8); +insert into ratings values (305, 339448, '2004-08-29', 4, 0.5); +insert into ratings values (305, 339448, '2004-08-29', 5, 0.5); +insert into ratings values (305, 197443, '2004-10-16', 4, 1.0); +insert into ratings values (305, 178131, '2004-12-26', 3, 0.6); +insert into ratings values (305, 178131, '2004-12-26', 4, 0.4); +insert into ratings values (305, 442739, '2005-01-05', 3, 0.5); +insert into ratings values (305, 442739, '2005-01-05', 4, 0.5); +insert into ratings values (306, 354278, '2005-06-16', 3, 0.1); +insert into ratings values (306, 354278, '2005-06-16', 4, 0.5); +insert into ratings values (306, 354278, '2005-06-16', 5, 0.4); +insert into ratings values (306, 441200, '2005-11-13', 3, 1.0); +insert into ratings values (306, 93102, '2005-03-21', 2, 0.5); +insert into ratings values (306, 93102, '2005-03-21', 3, 0.5); +insert into ratings values (306, 494391, '2005-04-27', 2, 0.6); +insert into ratings values (306, 494391, '2005-04-27', 3, 0.4); +insert into ratings values (306, 232736, '2005-03-14', 3, 0.4); +insert into ratings values (306, 232736, '2005-03-14', 4, 0.5); +insert into ratings values (306, 232736, '2005-03-14', 5, 0.1); +insert into ratings values (307, 479062, '2005-04-17', 2, 0.4); +insert into ratings values (307, 479062, '2005-04-17', 3, 0.5); +insert into ratings values (307, 479062, '2005-04-17', 4, 0.1); +insert into ratings values (307, 386766, '2004-12-10', 3, 0.4); +insert into ratings values (307, 386766, '2004-12-10', 4, 0.6); +insert into ratings values (307, 3492, '2005-11-20', 4, 1.0); +insert into ratings values (307, 368070, '2005-04-15', 5, 1.0); +insert into ratings values (307, 148434, '2005-05-03', 3, 0.4); +insert into ratings values (307, 148434, '2005-05-03', 4, 0.1); +insert into ratings values (307, 148434, '2005-05-03', 5, 0.5); +insert into ratings values (308, 76196, '2002-02-02', 1, 0.3); +insert into ratings values (308, 76196, '2002-02-02', 2, 0.6); +insert into ratings values (308, 76196, '2002-02-02', 3, 0.1); +insert into ratings values (308, 403531, '2003-11-16', 5, 1.0); +insert into ratings values (308, 71148, '2004-04-26', 1, 0.4); +insert into ratings values (308, 71148, '2004-04-26', 2, 0.5); +insert into ratings values (308, 71148, '2004-04-26', 3, 0.1); +insert into ratings values (308, 325964, '2004-08-21', 2, 0.2); +insert into ratings values (308, 325964, '2004-08-21', 3, 0.5); +insert into ratings values (308, 325964, '2004-08-21', 4, 0.3); +insert into ratings values (308, 273945, '2004-09-01', 3, 0.4); +insert into ratings values (308, 273945, '2004-09-01', 4, 0.5); +insert into ratings values (308, 273945, '2004-09-01', 5, 0.1); +insert into ratings values (309, 122188, '2005-03-17', 4, 0.7); +insert into ratings values (309, 122188, '2005-03-17', 5, 0.3); +insert into ratings values (309, 149028, '2004-12-30', 1, 0.5); +insert into ratings values (309, 149028, '2004-12-30', 2, 0.1); +insert into ratings values (309, 149028, '2004-12-30', 3, 0.4); +insert into ratings values (309, 154819, '2004-09-19', 1, 0.1); +insert into ratings values (309, 154819, '2004-09-19', 2, 0.6); +insert into ratings values (309, 154819, '2004-09-19', 3, 0.3); +insert into ratings values (309, 378553, '2004-11-09', 4, 1.0); +insert into ratings values (309, 328509, '2004-12-21', 4, 1.0); +insert into ratings values (310, 487105, '2004-05-24', 4, 1.0); +insert into ratings values (310, 120980, '2004-11-10', 3, 0.4); +insert into ratings values (310, 120980, '2004-11-10', 4, 0.5); +insert into ratings values (310, 120980, '2004-11-10', 5, 0.1); +insert into ratings values (310, 485943, '2005-10-09', 4, 1.0); +insert into ratings values (310, 345940, '2005-01-24', 3, 0.2); +insert into ratings values (310, 345940, '2005-01-24', 4, 0.3); +insert into ratings values (310, 345940, '2005-01-24', 5, 0.5); +insert into ratings values (310, 382355, '2004-04-26', 4, 0.6); +insert into ratings values (310, 382355, '2004-04-26', 5, 0.4); +insert into ratings values (311, 209202, '2005-08-23', 3, 0.4); +insert into ratings values (311, 209202, '2005-08-23', 4, 0.5); +insert into ratings values (311, 209202, '2005-08-23', 5, 0.1); +insert into ratings values (311, 379558, '2005-08-25', 2, 0.4); +insert into ratings values (311, 379558, '2005-08-25', 3, 0.6); +insert into ratings values (311, 139297, '2004-06-17', 3, 1.0); +insert into ratings values (311, 306466, '2004-10-26', 4, 1.0); +insert into ratings values (311, 282391, '2004-10-26', 4, 0.2); +insert into ratings values (311, 282391, '2004-10-26', 5, 0.8); +insert into ratings values (312, 364518, '2002-04-05', 3, 0.6); +insert into ratings values (312, 364518, '2002-04-05', 4, 0.4); +insert into ratings values (312, 169485, '2005-07-07', 4, 0.6); +insert into ratings values (312, 169485, '2005-07-07', 5, 0.4); +insert into ratings values (312, 69867, '2000-10-31', 2, 0.4); +insert into ratings values (312, 69867, '2000-10-31', 3, 0.6); +insert into ratings values (312, 306466, '2000-12-19', 4, 1.0); +insert into ratings values (312, 477388, '2000-09-30', 4, 0.6); +insert into ratings values (312, 477388, '2000-09-30', 5, 0.4); +insert into ratings values (313, 364518, '2002-09-11', 1, 0.2); +insert into ratings values (313, 364518, '2002-09-11', 2, 0.8); +insert into ratings values (313, 301205, '2005-07-10', 4, 0.4); +insert into ratings values (313, 301205, '2005-07-10', 5, 0.6); +insert into ratings values (313, 69867, '2001-12-21', 2, 0.2); +insert into ratings values (313, 69867, '2001-12-21', 3, 0.4); +insert into ratings values (313, 69867, '2001-12-21', 4, 0.4); +insert into ratings values (313, 306466, '2001-08-10', 3, 0.2); +insert into ratings values (313, 306466, '2001-08-10', 4, 0.6); +insert into ratings values (313, 306466, '2001-08-10', 5, 0.2); +insert into ratings values (313, 238407, '2004-12-11', 1, 0.1); +insert into ratings values (313, 238407, '2004-12-11', 2, 0.5); +insert into ratings values (313, 238407, '2004-12-11', 3, 0.4); +insert into ratings values (314, 1333, '2005-07-09', 2, 0.3); +insert into ratings values (314, 1333, '2005-07-09', 3, 0.5); +insert into ratings values (314, 1333, '2005-07-09', 4, 0.2); +insert into ratings values (314, 27870, '2005-06-13', 2, 1.0); +insert into ratings values (314, 389017, '2005-11-15', 3, 0.1); +insert into ratings values (314, 389017, '2005-11-15', 4, 0.5); +insert into ratings values (314, 389017, '2005-11-15', 5, 0.4); +insert into ratings values (314, 314110, '2005-11-11', 4, 0.3); +insert into ratings values (314, 314110, '2005-11-11', 5, 0.7); +insert into ratings values (314, 288956, '2005-08-05', 1, 0.5); +insert into ratings values (314, 288956, '2005-08-05', 2, 0.2); +insert into ratings values (314, 288956, '2005-08-05', 3, 0.3); +insert into ratings values (315, 409473, '2005-12-30', 3, 0.3); +insert into ratings values (315, 409473, '2005-12-30', 4, 0.1); +insert into ratings values (315, 409473, '2005-12-30', 5, 0.6); +insert into ratings values (315, 322178, '2005-03-22', 1, 0.5); +insert into ratings values (315, 322178, '2005-03-22', 2, 0.2); +insert into ratings values (315, 322178, '2005-03-22', 3, 0.3); +insert into ratings values (315, 300074, '2005-07-09', 1, 1.0); +insert into ratings values (315, 303948, '2005-03-22', 3, 1.0); +insert into ratings values (315, 167534, '2005-04-22', 5, 1.0); +insert into ratings values (316, 175214, '2005-09-23', 5, 1.0); +insert into ratings values (316, 83803, '2005-09-21', 2, 0.8); +insert into ratings values (316, 83803, '2005-09-21', 3, 0.2); +insert into ratings values (316, 240319, '2005-09-20', 5, 1.0); +insert into ratings values (316, 403531, '2005-10-02', 5, 1.0); +insert into ratings values (316, 318920, '2005-09-10', 5, 1.0); +insert into ratings values (317, 325162, '2005-07-28', 1, 0.8); +insert into ratings values (317, 325162, '2005-07-28', 2, 0.2); +insert into ratings values (317, 160186, '2005-10-19', 2, 0.4); +insert into ratings values (317, 160186, '2005-10-19', 3, 0.6); +insert into ratings values (317, 92275, '2005-09-12', 4, 1.0); +insert into ratings values (317, 12813, '2005-09-28', 4, 0.8); +insert into ratings values (317, 12813, '2005-09-28', 5, 0.2); +insert into ratings values (317, 221863, '2005-11-03', 3, 1.0); +insert into ratings values (318, 261663, '2003-08-24', 1, 0.2); +insert into ratings values (318, 261663, '2003-08-24', 2, 0.8); +insert into ratings values (318, 81119, '2003-01-07', 1, 0.4); +insert into ratings values (318, 81119, '2003-01-07', 2, 0.5); +insert into ratings values (318, 81119, '2003-01-07', 3, 0.1); +insert into ratings values (318, 302974, '2000-09-16', 1, 1.0); +insert into ratings values (318, 45752, '2003-05-05', 2, 1.0); +insert into ratings values (318, 10401, '2002-07-24', 1, 0.3); +insert into ratings values (318, 10401, '2002-07-24', 2, 0.7); +insert into ratings values (319, 199909, '2005-12-20', 2, 0.1); +insert into ratings values (319, 199909, '2005-12-20', 3, 0.4); +insert into ratings values (319, 199909, '2005-12-20', 4, 0.5); +insert into ratings values (319, 298010, '2005-05-11', 3, 0.6); +insert into ratings values (319, 298010, '2005-05-11', 4, 0.4); +insert into ratings values (319, 315168, '2005-11-03', 3, 0.4); +insert into ratings values (319, 315168, '2005-11-03', 4, 0.6); +insert into ratings values (319, 162926, '2005-08-15', 1, 0.5); +insert into ratings values (319, 162926, '2005-08-15', 2, 0.2); +insert into ratings values (319, 162926, '2005-08-15', 3, 0.3); +insert into ratings values (319, 202558, '2005-07-24', 4, 1.0); +insert into ratings values (320, 176755, '2005-10-06', 3, 0.5); +insert into ratings values (320, 176755, '2005-10-06', 4, 0.4); +insert into ratings values (320, 176755, '2005-10-06', 5, 0.1); +insert into ratings values (320, 388767, '2005-07-07', 2, 0.5); +insert into ratings values (320, 388767, '2005-07-07', 3, 0.5); +insert into ratings values (320, 326804, '2002-08-30', 1, 0.8); +insert into ratings values (320, 326804, '2002-08-30', 2, 0.2); +insert into ratings values (320, 185353, '2003-09-02', 3, 0.8); +insert into ratings values (320, 185353, '2003-09-02', 4, 0.2); +insert into ratings values (320, 364749, '2004-03-15', 4, 1.0); +insert into ratings values (321, 769, '2005-02-28', 1, 0.3); +insert into ratings values (321, 769, '2005-02-28', 2, 0.6); +insert into ratings values (321, 769, '2005-02-28', 3, 0.1); +insert into ratings values (321, 317060, '2005-04-21', 2, 0.2); +insert into ratings values (321, 317060, '2005-04-21', 3, 0.6); +insert into ratings values (321, 317060, '2005-04-21', 4, 0.2); +insert into ratings values (321, 496341, '2004-11-23', 2, 0.5); +insert into ratings values (321, 496341, '2004-11-23', 3, 0.5); +insert into ratings values (321, 257294, '2004-12-14', 3, 1.0); +insert into ratings values (321, 460747, '2005-07-18', 1, 0.8); +insert into ratings values (321, 460747, '2005-07-18', 2, 0.2); +insert into ratings values (322, 388669, '2005-07-21', 1, 0.4); +insert into ratings values (322, 388669, '2005-07-21', 2, 0.5); +insert into ratings values (322, 388669, '2005-07-21', 3, 0.1); +insert into ratings values (322, 769, '2005-11-29', 1, 0.3); +insert into ratings values (322, 769, '2005-11-29', 2, 0.5); +insert into ratings values (322, 769, '2005-11-29', 3, 0.2); +insert into ratings values (322, 403531, '2004-02-13', 4, 0.3); +insert into ratings values (322, 403531, '2004-02-13', 5, 0.7); +insert into ratings values (322, 343645, '2005-08-26', 2, 0.1); +insert into ratings values (322, 343645, '2005-08-26', 3, 0.4); +insert into ratings values (322, 343645, '2005-08-26', 4, 0.5); +insert into ratings values (322, 328386, '2005-07-01', 1, 0.5); +insert into ratings values (322, 328386, '2005-07-01', 2, 0.4); +insert into ratings values (322, 328386, '2005-07-01', 3, 0.1); +insert into ratings values (323, 439931, '2004-04-23', 3, 0.5); +insert into ratings values (323, 439931, '2004-04-23', 4, 0.5); +insert into ratings values (323, 317060, '2005-04-03', 4, 1.0); +insert into ratings values (323, 322178, '2005-03-17', 1, 1.0); +insert into ratings values (323, 262411, '2003-10-28', 3, 0.4); +insert into ratings values (323, 262411, '2003-10-28', 4, 0.6); +insert into ratings values (323, 413603, '2005-08-10', 1, 0.4); +insert into ratings values (323, 413603, '2005-08-10', 2, 0.5); +insert into ratings values (323, 413603, '2005-08-10', 3, 0.1); +insert into ratings values (324, 249052, '2005-11-12', 4, 1.0); +insert into ratings values (324, 403531, '2003-11-16', 3, 0.8); +insert into ratings values (324, 403531, '2003-11-16', 4, 0.2); +insert into ratings values (324, 29395, '2000-11-24', 2, 0.6); +insert into ratings values (324, 29395, '2000-11-24', 3, 0.4); +insert into ratings values (324, 187385, '2004-12-21', 3, 0.3); +insert into ratings values (324, 187385, '2004-12-21', 4, 0.7); +insert into ratings values (324, 239167, '2005-07-10', 3, 0.2); +insert into ratings values (324, 239167, '2005-07-10', 4, 0.4); +insert into ratings values (324, 239167, '2005-07-10', 5, 0.4); +insert into ratings values (325, 236989, '2005-09-12', 3, 0.1); +insert into ratings values (325, 236989, '2005-09-12', 4, 0.3); +insert into ratings values (325, 236989, '2005-09-12', 5, 0.6); +insert into ratings values (325, 444675, '2005-12-11', 3, 0.2); +insert into ratings values (325, 444675, '2005-12-11', 4, 0.4); +insert into ratings values (325, 444675, '2005-12-11', 5, 0.4); +insert into ratings values (325, 487832, '2005-12-11', 5, 1.0); +insert into ratings values (325, 371965, '2005-06-29', 2, 0.3); +insert into ratings values (325, 371965, '2005-06-29', 3, 0.6); +insert into ratings values (325, 371965, '2005-06-29', 4, 0.1); +insert into ratings values (325, 131329, '2005-09-20', 5, 1.0); +insert into ratings values (326, 67976, '2004-11-02', 3, 0.4); +insert into ratings values (326, 67976, '2004-11-02', 4, 0.5); +insert into ratings values (326, 67976, '2004-11-02', 5, 0.1); +insert into ratings values (326, 266736, '2005-09-08', 2, 0.2); +insert into ratings values (326, 266736, '2005-09-08', 3, 0.8); +insert into ratings values (326, 447930, '2005-10-18', 2, 0.4); +insert into ratings values (326, 447930, '2005-10-18', 3, 0.4); +insert into ratings values (326, 447930, '2005-10-18', 4, 0.2); +insert into ratings values (326, 103619, '2004-07-12', 4, 1.0); +insert into ratings values (326, 202667, '2005-02-02', 3, 0.4); +insert into ratings values (326, 202667, '2005-02-02', 4, 0.6); +insert into ratings values (327, 66358, '2005-11-26', 2, 0.5); +insert into ratings values (327, 66358, '2005-11-26', 3, 0.4); +insert into ratings values (327, 66358, '2005-11-26', 4, 0.1); +insert into ratings values (327, 243437, '2005-01-10', 4, 1.0); +insert into ratings values (327, 491331, '2005-09-05', 2, 1.0); +insert into ratings values (327, 172815, '2005-11-05', 2, 0.2); +insert into ratings values (327, 172815, '2005-11-05', 3, 0.4); +insert into ratings values (327, 172815, '2005-11-05', 4, 0.4); +insert into ratings values (327, 398641, '2005-08-09', 3, 1.0); +insert into ratings values (328, 132390, '2004-06-02', 1, 0.6); +insert into ratings values (328, 132390, '2004-06-02', 2, 0.4); +insert into ratings values (328, 314837, '2003-04-07', 3, 0.4); +insert into ratings values (328, 314837, '2003-04-07', 4, 0.6); +insert into ratings values (328, 76196, '2003-01-07', 1, 0.6); +insert into ratings values (328, 76196, '2003-01-07', 2, 0.3); +insert into ratings values (328, 76196, '2003-01-07', 3, 0.1); +insert into ratings values (328, 234798, '2004-03-02', 2, 0.2); +insert into ratings values (328, 234798, '2004-03-02', 3, 0.8); +insert into ratings values (328, 155342, '2003-03-30', 1, 0.8); +insert into ratings values (328, 155342, '2003-03-30', 2, 0.2); +insert into ratings values (329, 69867, '2000-10-31', 1, 0.7); +insert into ratings values (329, 69867, '2000-10-31', 2, 0.3); +insert into ratings values (329, 306466, '2000-12-19', 3, 0.4); +insert into ratings values (329, 306466, '2000-12-19', 4, 0.5); +insert into ratings values (329, 306466, '2000-12-19', 5, 0.1); +insert into ratings values (329, 254711, '2005-07-12', 1, 1.0); +insert into ratings values (329, 477388, '2000-10-15', 5, 1.0); +insert into ratings values (329, 449288, '2000-10-06', 1, 0.7); +insert into ratings values (329, 449288, '2000-10-06', 2, 0.3); +insert into ratings values (330, 306466, '2001-04-05', 3, 0.4); +insert into ratings values (330, 306466, '2001-04-05', 4, 0.6); +insert into ratings values (330, 477388, '2000-05-02', 2, 0.5); +insert into ratings values (330, 477388, '2000-05-02', 3, 0.4); +insert into ratings values (330, 477388, '2000-05-02', 4, 0.1); +insert into ratings values (330, 496476, '2005-07-14', 3, 0.1); +insert into ratings values (330, 496476, '2005-07-14', 4, 0.3); +insert into ratings values (330, 496476, '2005-07-14', 5, 0.6); +insert into ratings values (330, 276813, '2001-07-24', 2, 0.4); +insert into ratings values (330, 276813, '2001-07-24', 3, 0.5); +insert into ratings values (330, 276813, '2001-07-24', 4, 0.1); +insert into ratings values (330, 393953, '2004-09-03', 3, 0.5); +insert into ratings values (330, 393953, '2004-09-03', 4, 0.5); +insert into ratings values (331, 364518, '2002-09-24', 2, 0.3); +insert into ratings values (331, 364518, '2002-09-24', 3, 0.5); +insert into ratings values (331, 364518, '2002-09-24', 4, 0.2); +insert into ratings values (331, 306466, '2001-02-27', 2, 1.0); +insert into ratings values (331, 477388, '2005-03-03', 4, 1.0); +insert into ratings values (331, 388088, '2000-09-16', 4, 0.7); +insert into ratings values (331, 388088, '2000-09-16', 5, 0.3); +insert into ratings values (331, 66358, '2005-07-16', 2, 0.1); +insert into ratings values (331, 66358, '2005-07-16', 3, 0.6); +insert into ratings values (331, 66358, '2005-07-16', 4, 0.3); +insert into ratings values (332, 3593, '2005-11-22', 2, 0.4); +insert into ratings values (332, 3593, '2005-11-22', 3, 0.4); +insert into ratings values (332, 3593, '2005-11-22', 4, 0.2); +insert into ratings values (332, 263722, '2005-04-11', 2, 0.3); +insert into ratings values (332, 263722, '2005-04-11', 3, 0.7); +insert into ratings values (332, 85638, '2005-04-13', 3, 1.0); +insert into ratings values (332, 116390, '2003-06-06', 1, 0.5); +insert into ratings values (332, 116390, '2003-06-06', 2, 0.2); +insert into ratings values (332, 116390, '2003-06-06', 3, 0.3); +insert into ratings values (332, 314110, '2005-08-15', 2, 0.3); +insert into ratings values (332, 314110, '2005-08-15', 3, 0.7); +insert into ratings values (333, 482592, '2005-06-27', 3, 0.3); +insert into ratings values (333, 482592, '2005-06-27', 4, 0.6); +insert into ratings values (333, 482592, '2005-06-27', 5, 0.1); +insert into ratings values (333, 1333, '2005-05-12', 4, 1.0); +insert into ratings values (333, 303948, '2005-07-08', 4, 0.6); +insert into ratings values (333, 303948, '2005-07-08', 5, 0.4); +insert into ratings values (333, 114594, '2005-06-03', 4, 0.2); +insert into ratings values (333, 114594, '2005-06-03', 5, 0.8); +insert into ratings values (333, 203487, '2005-10-27', 1, 0.3); +insert into ratings values (333, 203487, '2005-10-27', 2, 0.7); +insert into ratings values (334, 53679, '2005-07-12', 3, 1.0); +insert into ratings values (334, 310002, '2005-07-18', 2, 1.0); +insert into ratings values (334, 446953, '2005-08-08', 4, 0.7); +insert into ratings values (334, 446953, '2005-08-08', 5, 0.3); +insert into ratings values (334, 66568, '2005-08-11', 1, 0.3); +insert into ratings values (334, 66568, '2005-08-11', 2, 0.6); +insert into ratings values (334, 66568, '2005-08-11', 3, 0.1); +insert into ratings values (334, 122601, '2005-08-21', 3, 1.0); +insert into ratings values (335, 87815, '2005-09-02', 2, 0.2); +insert into ratings values (335, 87815, '2005-09-02', 3, 0.6); +insert into ratings values (335, 87815, '2005-09-02', 4, 0.2); +insert into ratings values (335, 403531, '2003-10-09', 3, 0.1); +insert into ratings values (335, 403531, '2003-10-09', 4, 0.4); +insert into ratings values (335, 403531, '2003-10-09', 5, 0.5); +insert into ratings values (335, 313646, '2005-03-02', 4, 0.5); +insert into ratings values (335, 313646, '2005-03-02', 5, 0.5); +insert into ratings values (335, 257294, '2004-07-26', 4, 0.8); +insert into ratings values (335, 257294, '2004-07-26', 5, 0.2); +insert into ratings values (335, 235789, '2004-10-27', 2, 0.4); +insert into ratings values (335, 235789, '2004-10-27', 3, 0.6); +insert into ratings values (336, 146851, '2005-06-13', 3, 0.3); +insert into ratings values (336, 146851, '2005-06-13', 4, 0.4); +insert into ratings values (336, 146851, '2005-06-13', 5, 0.3); +insert into ratings values (336, 484675, '2005-07-18', 2, 1.0); +insert into ratings values (336, 385977, '2005-06-20', 2, 0.1); +insert into ratings values (336, 385977, '2005-06-20', 3, 0.6); +insert into ratings values (336, 385977, '2005-06-20', 4, 0.3); +insert into ratings values (336, 433889, '2005-05-21', 4, 1.0); +insert into ratings values (336, 478176, '2005-06-05', 3, 0.3); +insert into ratings values (336, 478176, '2005-06-05', 4, 0.6); +insert into ratings values (336, 478176, '2005-06-05', 5, 0.1); +insert into ratings values (337, 24473, '2004-07-27', 3, 0.1); +insert into ratings values (337, 24473, '2004-07-27', 4, 0.5); +insert into ratings values (337, 24473, '2004-07-27', 5, 0.4); +insert into ratings values (337, 139297, '2004-02-20', 2, 1.0); +insert into ratings values (337, 86767, '2004-04-20', 3, 0.6); +insert into ratings values (337, 86767, '2004-04-20', 4, 0.4); +insert into ratings values (337, 93489, '2004-12-17', 3, 1.0); +insert into ratings values (337, 136630, '2004-03-13', 3, 0.6); +insert into ratings values (337, 136630, '2004-03-13', 4, 0.4); +insert into ratings values (338, 41412, '2002-04-05', 2, 0.5); +insert into ratings values (338, 41412, '2002-04-05', 3, 0.5); +insert into ratings values (338, 461110, '2004-11-18', 2, 0.1); +insert into ratings values (338, 461110, '2004-11-18', 3, 0.6); +insert into ratings values (338, 461110, '2004-11-18', 4, 0.3); +insert into ratings values (338, 264160, '2005-08-28', 4, 0.5); +insert into ratings values (338, 264160, '2005-08-28', 5, 0.5); +insert into ratings values (338, 403531, '2005-08-15', 4, 0.5); +insert into ratings values (338, 403531, '2005-08-15', 5, 0.5); +insert into ratings values (338, 352622, '2005-04-16', 1, 1.0); +insert into ratings values (339, 243437, '2004-11-09', 5, 1.0); +insert into ratings values (339, 252468, '2005-02-01', 5, 1.0); +insert into ratings values (339, 380338, '2004-11-17', 5, 1.0); +insert into ratings values (339, 301811, '2005-01-22', 3, 0.4); +insert into ratings values (339, 301811, '2005-01-22', 4, 0.1); +insert into ratings values (339, 301811, '2005-01-22', 5, 0.5); +insert into ratings values (339, 200255, '2005-10-27', 3, 0.3); +insert into ratings values (339, 200255, '2005-10-27', 4, 0.1); +insert into ratings values (339, 200255, '2005-10-27', 5, 0.6); +insert into ratings values (340, 301920, '2004-09-05', 2, 1.0); +insert into ratings values (340, 1333, '2004-02-20', 2, 0.7); +insert into ratings values (340, 1333, '2004-02-20', 3, 0.3); +insert into ratings values (340, 423303, '2005-03-09', 2, 1.0); +insert into ratings values (340, 51230, '2005-05-15', 2, 0.1); +insert into ratings values (340, 51230, '2005-05-15', 3, 0.5); +insert into ratings values (340, 51230, '2005-05-15', 4, 0.4); +insert into ratings values (340, 321628, '2003-07-27', 4, 0.6); +insert into ratings values (340, 321628, '2003-07-27', 5, 0.4); +insert into ratings values (341, 282781, '2004-07-13', 3, 1.0); +insert into ratings values (341, 293901, '2004-02-25', 3, 0.5); +insert into ratings values (341, 293901, '2004-02-25', 4, 0.4); +insert into ratings values (341, 293901, '2004-02-25', 5, 0.1); +insert into ratings values (341, 67315, '2004-03-09', 2, 1.0); +insert into ratings values (341, 264160, '2005-08-28', 2, 0.2); +insert into ratings values (341, 264160, '2005-08-28', 3, 0.8); +insert into ratings values (341, 317060, '2005-11-30', 3, 0.3); +insert into ratings values (341, 317060, '2005-11-30', 4, 0.1); +insert into ratings values (341, 317060, '2005-11-30', 5, 0.6); +insert into ratings values (342, 305151, '2004-01-08', 1, 0.2); +insert into ratings values (342, 305151, '2004-01-08', 2, 0.6); +insert into ratings values (342, 305151, '2004-01-08', 3, 0.2); +insert into ratings values (342, 497196, '2004-05-03', 5, 1.0); +insert into ratings values (342, 166100, '2004-06-25', 1, 1.0); +insert into ratings values (342, 113677, '2005-03-04', 4, 1.0); +insert into ratings values (342, 188415, '2005-08-17', 2, 0.3); +insert into ratings values (342, 188415, '2005-08-17', 3, 0.4); +insert into ratings values (342, 188415, '2005-08-17', 4, 0.3); +insert into ratings values (343, 406121, '2005-09-20', 4, 0.3); +insert into ratings values (343, 406121, '2005-09-20', 5, 0.7); +insert into ratings values (343, 391201, '2005-09-06', 1, 0.4); +insert into ratings values (343, 391201, '2005-09-06', 2, 0.6); +insert into ratings values (343, 164882, '2005-07-28', 3, 0.4); +insert into ratings values (343, 164882, '2005-07-28', 4, 0.5); +insert into ratings values (343, 164882, '2005-07-28', 5, 0.1); +insert into ratings values (343, 321749, '2005-09-14', 3, 1.0); +insert into ratings values (343, 247094, '2005-05-23', 4, 1.0); +insert into ratings values (344, 160977, '2003-10-03', 5, 1.0); +insert into ratings values (344, 70976, '2004-02-28', 1, 0.7); +insert into ratings values (344, 70976, '2004-02-28', 2, 0.3); +insert into ratings values (344, 93349, '2004-04-30', 1, 0.7); +insert into ratings values (344, 93349, '2004-04-30', 2, 0.3); +insert into ratings values (344, 283774, '2004-01-25', 4, 1.0); +insert into ratings values (344, 285547, '2004-08-10', 2, 1.0); +insert into ratings values (345, 88271, '2005-08-16', 3, 0.5); +insert into ratings values (345, 88271, '2005-08-16', 4, 0.1); +insert into ratings values (345, 88271, '2005-08-16', 5, 0.4); +insert into ratings values (345, 50996, '2005-08-17', 4, 0.5); +insert into ratings values (345, 50996, '2005-08-17', 5, 0.5); +insert into ratings values (345, 231140, '2005-03-02', 5, 1.0); +insert into ratings values (345, 188099, '2005-10-29', 4, 0.4); +insert into ratings values (345, 188099, '2005-10-29', 5, 0.6); +insert into ratings values (345, 264160, '2005-08-28', 5, 1.0); +insert into ratings values (346, 44317, '2005-08-03', 3, 0.3); +insert into ratings values (346, 44317, '2005-08-03', 4, 0.5); +insert into ratings values (346, 44317, '2005-08-03', 5, 0.2); +insert into ratings values (346, 147748, '2005-11-15', 1, 0.1); +insert into ratings values (346, 147748, '2005-11-15', 2, 0.5); +insert into ratings values (346, 147748, '2005-11-15', 3, 0.4); +insert into ratings values (346, 43039, '2005-08-29', 2, 0.5); +insert into ratings values (346, 43039, '2005-08-29', 3, 0.5); +insert into ratings values (346, 3636, '2005-08-31', 3, 0.8); +insert into ratings values (346, 3636, '2005-08-31', 4, 0.2); +insert into ratings values (346, 202381, '2005-09-03', 2, 0.6); +insert into ratings values (346, 202381, '2005-09-03', 3, 0.4); +insert into ratings values (347, 325964, '2005-05-08', 1, 0.2); +insert into ratings values (347, 325964, '2005-05-08', 2, 0.6); +insert into ratings values (347, 325964, '2005-05-08', 3, 0.2); +insert into ratings values (347, 85856, '2004-07-20', 3, 0.6); +insert into ratings values (347, 85856, '2004-07-20', 4, 0.4); +insert into ratings values (347, 155342, '2003-01-16', 1, 0.5); +insert into ratings values (347, 155342, '2003-01-16', 2, 0.3); +insert into ratings values (347, 155342, '2003-01-16', 3, 0.2); +insert into ratings values (347, 394918, '2003-01-25', 3, 1.0); +insert into ratings values (347, 24373, '2003-08-25', 2, 0.3); +insert into ratings values (347, 24373, '2003-08-25', 3, 0.4); +insert into ratings values (347, 24373, '2003-08-25', 4, 0.3); +insert into ratings values (348, 306466, '2001-04-13', 4, 1.0); +insert into ratings values (348, 477388, '2000-12-27', 4, 1.0); +insert into ratings values (348, 276813, '2001-01-03', 3, 0.2); +insert into ratings values (348, 276813, '2001-01-03', 4, 0.5); +insert into ratings values (348, 276813, '2001-01-03', 5, 0.3); +insert into ratings values (348, 198246, '2004-06-20', 5, 1.0); +insert into ratings values (348, 86767, '2004-04-07', 5, 1.0); +insert into ratings values (349, 84527, '2003-03-28', 1, 0.3); +insert into ratings values (349, 84527, '2003-03-28', 2, 0.7); +insert into ratings values (349, 441324, '2005-01-12', 3, 1.0); +insert into ratings values (349, 46036, '2003-07-05', 2, 1.0); +insert into ratings values (349, 361407, '2002-10-14', 2, 0.2); +insert into ratings values (349, 361407, '2002-10-14', 3, 0.8); +insert into ratings values (349, 403531, '2003-11-16', 3, 1.0); +insert into ratings values (350, 121910, '2005-08-09', 2, 0.8); +insert into ratings values (350, 121910, '2005-08-09', 3, 0.2); +insert into ratings values (350, 173183, '2004-09-07', 3, 0.2); +insert into ratings values (350, 173183, '2004-09-07', 4, 0.4); +insert into ratings values (350, 173183, '2004-09-07', 5, 0.4); +insert into ratings values (350, 444983, '2005-07-16', 4, 0.3); +insert into ratings values (350, 444983, '2005-07-16', 5, 0.7); +insert into ratings values (350, 164532, '2004-08-12', 3, 1.0); +insert into ratings values (350, 303948, '2004-09-13', 3, 0.3); +insert into ratings values (350, 303948, '2004-09-13', 4, 0.6); +insert into ratings values (350, 303948, '2004-09-13', 5, 0.1); +insert into ratings values (351, 338513, '2004-11-17', 4, 0.7); +insert into ratings values (351, 338513, '2004-11-17', 5, 0.3); +insert into ratings values (351, 420417, '2005-09-22', 3, 0.1); +insert into ratings values (351, 420417, '2005-09-22', 4, 0.4); +insert into ratings values (351, 420417, '2005-09-22', 5, 0.5); +insert into ratings values (351, 81516, '2005-02-07', 1, 0.5); +insert into ratings values (351, 81516, '2005-02-07', 2, 0.4); +insert into ratings values (351, 81516, '2005-02-07', 3, 0.1); +insert into ratings values (351, 238740, '2004-09-10', 3, 0.8); +insert into ratings values (351, 238740, '2004-09-10', 4, 0.2); +insert into ratings values (351, 167781, '2005-02-19', 3, 1.0); +insert into ratings values (352, 470500, '2002-04-04', 3, 1.0); +insert into ratings values (352, 156078, '2003-04-30', 1, 0.2); +insert into ratings values (352, 156078, '2003-04-30', 2, 0.6); +insert into ratings values (352, 156078, '2003-04-30', 3, 0.2); +insert into ratings values (352, 69865, '2004-09-29', 3, 1.0); +insert into ratings values (352, 322939, '2003-09-04', 3, 1.0); +insert into ratings values (352, 119501, '2005-09-28', 2, 0.5); +insert into ratings values (352, 119501, '2005-09-28', 3, 0.5); +insert into ratings values (353, 426397, '2003-10-28', 3, 0.1); +insert into ratings values (353, 426397, '2003-10-28', 4, 0.5); +insert into ratings values (353, 426397, '2003-10-28', 5, 0.4); +insert into ratings values (353, 395744, '2005-08-13', 2, 0.3); +insert into ratings values (353, 395744, '2005-08-13', 3, 0.7); +insert into ratings values (353, 383894, '2004-07-28', 3, 0.7); +insert into ratings values (353, 383894, '2004-07-28', 4, 0.3); +insert into ratings values (353, 419998, '2003-10-22', 2, 0.3); +insert into ratings values (353, 419998, '2003-10-22', 3, 0.5); +insert into ratings values (353, 419998, '2003-10-22', 4, 0.2); +insert into ratings values (353, 370762, '2003-12-08', 4, 0.4); +insert into ratings values (353, 370762, '2003-12-08', 5, 0.6); +insert into ratings values (354, 310856, '2005-08-08', 2, 0.4); +insert into ratings values (354, 310856, '2005-08-08', 3, 0.6); +insert into ratings values (354, 241231, '2005-11-11', 2, 0.5); +insert into ratings values (354, 241231, '2005-11-11', 3, 0.4); +insert into ratings values (354, 241231, '2005-11-11', 4, 0.1); +insert into ratings values (354, 431490, '2005-09-16', 2, 0.8); +insert into ratings values (354, 431490, '2005-09-16', 3, 0.2); +insert into ratings values (354, 25907, '2005-08-29', 1, 1.0); +insert into ratings values (354, 238409, '2005-08-18', 1, 0.7); +insert into ratings values (354, 238409, '2005-08-18', 2, 0.3); +insert into ratings values (355, 310856, '2005-06-09', 1, 0.7); +insert into ratings values (355, 310856, '2005-06-09', 2, 0.3); +insert into ratings values (355, 152619, '2005-01-25', 2, 1.0); +insert into ratings values (355, 339101, '2004-12-07', 3, 1.0); +insert into ratings values (355, 435009, '2004-08-11', 2, 0.1); +insert into ratings values (355, 435009, '2004-08-11', 3, 0.6); +insert into ratings values (355, 435009, '2004-08-11', 4, 0.3); +insert into ratings values (355, 282585, '2003-10-06', 1, 1.0); +insert into ratings values (356, 320950, '2005-09-14', 3, 0.3); +insert into ratings values (356, 320950, '2005-09-14', 4, 0.7); +insert into ratings values (356, 464539, '2005-11-05', 3, 0.8); +insert into ratings values (356, 464539, '2005-11-05', 4, 0.2); +insert into ratings values (356, 67315, '2005-10-03', 1, 1.0); +insert into ratings values (356, 350776, '2005-11-15', 2, 0.4); +insert into ratings values (356, 350776, '2005-11-15', 3, 0.4); +insert into ratings values (356, 350776, '2005-11-15', 4, 0.2); +insert into ratings values (356, 24344, '2005-08-30', 4, 1.0); +insert into ratings values (357, 452013, '2005-07-10', 3, 0.2); +insert into ratings values (357, 452013, '2005-07-10', 4, 0.5); +insert into ratings values (357, 452013, '2005-07-10', 5, 0.3); +insert into ratings values (357, 306466, '2004-04-06', 3, 0.2); +insert into ratings values (357, 306466, '2004-04-06', 4, 0.6); +insert into ratings values (357, 306466, '2004-04-06', 5, 0.2); +insert into ratings values (357, 422507, '2005-07-13', 3, 0.3); +insert into ratings values (357, 422507, '2005-07-13', 4, 0.1); +insert into ratings values (357, 422507, '2005-07-13', 5, 0.6); +insert into ratings values (357, 259694, '2004-12-15', 3, 0.3); +insert into ratings values (357, 259694, '2004-12-15', 4, 0.5); +insert into ratings values (357, 259694, '2004-12-15', 5, 0.2); +insert into ratings values (357, 66568, '2004-08-09', 2, 0.2); +insert into ratings values (357, 66568, '2004-08-09', 3, 0.4); +insert into ratings values (357, 66568, '2004-08-09', 4, 0.4); +insert into ratings values (358, 306466, '2004-09-15', 4, 1.0); +insert into ratings values (358, 357521, '2005-01-08', 3, 0.4); +insert into ratings values (358, 357521, '2005-01-08', 4, 0.6); +insert into ratings values (358, 247794, '2003-11-26', 2, 0.2); +insert into ratings values (358, 247794, '2003-11-26', 3, 0.5); +insert into ratings values (358, 247794, '2003-11-26', 4, 0.3); +insert into ratings values (358, 27339, '2003-08-13', 4, 1.0); +insert into ratings values (358, 105942, '2004-01-02', 4, 1.0); +insert into ratings values (359, 29545, '2005-07-15', 2, 0.6); +insert into ratings values (359, 29545, '2005-07-15', 3, 0.4); +insert into ratings values (359, 109094, '2004-05-03', 4, 0.5); +insert into ratings values (359, 109094, '2004-05-03', 5, 0.5); +insert into ratings values (359, 160977, '2005-05-02', 4, 1.0); +insert into ratings values (359, 44317, '2005-06-23', 5, 1.0); +insert into ratings values (359, 326587, '2004-04-09', 4, 1.0); +insert into ratings values (360, 364518, '2003-10-30', 2, 0.4); +insert into ratings values (360, 364518, '2003-10-30', 3, 0.5); +insert into ratings values (360, 364518, '2003-10-30', 4, 0.1); +insert into ratings values (360, 419998, '2003-12-01', 1, 1.0); +insert into ratings values (360, 294962, '2004-02-20', 3, 1.0); +insert into ratings values (360, 139297, '2004-06-11', 1, 0.8); +insert into ratings values (360, 139297, '2004-06-11', 2, 0.2); +insert into ratings values (360, 160876, '2004-11-26', 1, 0.6); +insert into ratings values (360, 160876, '2004-11-26', 2, 0.2); +insert into ratings values (360, 160876, '2004-11-26', 3, 0.2); +insert into ratings values (361, 320161, '2005-07-26', 4, 1.0); +insert into ratings values (361, 109425, '2005-08-26', 3, 0.7); +insert into ratings values (361, 109425, '2005-08-26', 4, 0.3); +insert into ratings values (361, 466862, '2005-09-06', 1, 0.4); +insert into ratings values (361, 466862, '2005-09-06', 2, 0.6); +insert into ratings values (361, 193828, '2005-04-11', 3, 0.4); +insert into ratings values (361, 193828, '2005-04-11', 4, 0.1); +insert into ratings values (361, 193828, '2005-04-11', 5, 0.5); +insert into ratings values (361, 234694, '2005-04-27', 4, 1.0); +insert into ratings values (362, 70976, '2004-02-17', 2, 1.0); +insert into ratings values (362, 441324, '2005-01-11', 1, 1.0); +insert into ratings values (362, 769, '2005-10-02', 1, 0.8); +insert into ratings values (362, 769, '2005-10-02', 2, 0.2); +insert into ratings values (362, 476805, '2005-10-25', 1, 0.8); +insert into ratings values (362, 476805, '2005-10-25', 2, 0.2); +insert into ratings values (362, 12771, '2005-11-04', 1, 0.5); +insert into ratings values (362, 12771, '2005-11-04', 2, 0.2); +insert into ratings values (362, 12771, '2005-11-04', 3, 0.3); +insert into ratings values (363, 306466, '2004-09-28', 1, 0.5); +insert into ratings values (363, 306466, '2004-09-28', 2, 0.5); +insert into ratings values (363, 469857, '2005-11-22', 3, 1.0); +insert into ratings values (363, 105833, '2004-09-05', 3, 0.4); +insert into ratings values (363, 105833, '2004-09-05', 4, 0.6); +insert into ratings values (363, 175887, '2004-04-22', 3, 0.6); +insert into ratings values (363, 175887, '2004-04-22', 4, 0.4); +insert into ratings values (363, 293901, '2004-01-18', 3, 1.0); +insert into ratings values (364, 146851, '2004-08-24', 1, 0.5); +insert into ratings values (364, 146851, '2004-08-24', 2, 0.5); +insert into ratings values (364, 363908, '2004-09-14', 3, 0.6); +insert into ratings values (364, 363908, '2004-09-14', 4, 0.4); +insert into ratings values (364, 445831, '2005-03-11', 3, 0.6); +insert into ratings values (364, 445831, '2005-03-11', 4, 0.4); +insert into ratings values (364, 37748, '2005-03-28', 2, 0.2); +insert into ratings values (364, 37748, '2005-03-28', 3, 0.6); +insert into ratings values (364, 37748, '2005-03-28', 4, 0.2); +insert into ratings values (364, 411414, '2004-04-24', 1, 0.5); +insert into ratings values (364, 411414, '2004-04-24', 2, 0.4); +insert into ratings values (364, 411414, '2004-04-24', 3, 0.1); +insert into ratings values (365, 66358, '2005-05-12', 2, 0.2); +insert into ratings values (365, 66358, '2005-05-12', 3, 0.8); +insert into ratings values (365, 200255, '2003-06-12', 5, 1.0); +insert into ratings values (365, 26648, '2005-02-23', 3, 0.1); +insert into ratings values (365, 26648, '2005-02-23', 4, 0.4); +insert into ratings values (365, 26648, '2005-02-23', 5, 0.5); +insert into ratings values (365, 491331, '2005-09-05', 2, 0.7); +insert into ratings values (365, 491331, '2005-09-05', 3, 0.3); +insert into ratings values (365, 152783, '2004-02-07', 4, 0.4); +insert into ratings values (365, 152783, '2004-02-07', 5, 0.6); +insert into ratings values (366, 397077, '2005-04-20', 2, 0.5); +insert into ratings values (366, 397077, '2005-04-20', 3, 0.5); +insert into ratings values (366, 366901, '2005-06-10', 3, 1.0); +insert into ratings values (366, 125163, '2005-03-03', 4, 0.6); +insert into ratings values (366, 125163, '2005-03-03', 5, 0.4); +insert into ratings values (366, 438226, '2004-12-15', 4, 1.0); +insert into ratings values (366, 192334, '2005-01-24', 4, 0.5); +insert into ratings values (366, 192334, '2005-01-24', 5, 0.5); +insert into ratings values (367, 364518, '2004-02-03', 1, 0.2); +insert into ratings values (367, 364518, '2004-02-03', 2, 0.4); +insert into ratings values (367, 364518, '2004-02-03', 3, 0.4); +insert into ratings values (367, 306466, '2003-07-25', 2, 0.5); +insert into ratings values (367, 306466, '2003-07-25', 3, 0.5); +insert into ratings values (367, 307939, '2003-12-01', 3, 1.0); +insert into ratings values (367, 244820, '2005-08-10', 4, 1.0); +insert into ratings values (367, 487832, '2003-11-17', 2, 0.4); +insert into ratings values (367, 487832, '2003-11-17', 3, 0.4); +insert into ratings values (367, 487832, '2003-11-17', 4, 0.2); +insert into ratings values (368, 203345, '2004-03-12', 4, 0.6); +insert into ratings values (368, 203345, '2004-03-12', 5, 0.4); +insert into ratings values (368, 2530, '2004-07-11', 3, 0.3); +insert into ratings values (368, 2530, '2004-07-11', 4, 0.5); +insert into ratings values (368, 2530, '2004-07-11', 5, 0.2); +insert into ratings values (368, 255357, '2004-04-22', 3, 0.2); +insert into ratings values (368, 255357, '2004-04-22', 4, 0.6); +insert into ratings values (368, 255357, '2004-04-22', 5, 0.2); +insert into ratings values (368, 119287, '2003-10-10', 4, 1.0); +insert into ratings values (368, 397077, '2004-05-14', 3, 1.0); +insert into ratings values (369, 131078, '2003-08-26', 3, 1.0); +insert into ratings values (369, 327122, '2003-11-24', 3, 1.0); +insert into ratings values (369, 272881, '2005-10-02', 2, 0.4); +insert into ratings values (369, 272881, '2005-10-02', 3, 0.4); +insert into ratings values (369, 272881, '2005-10-02', 4, 0.2); +insert into ratings values (369, 206809, '2004-11-22', 4, 1.0); +insert into ratings values (369, 410185, '2003-08-29', 2, 0.4); +insert into ratings values (369, 410185, '2003-08-29', 3, 0.6); +insert into ratings values (370, 306466, '2002-08-28', 2, 0.1); +insert into ratings values (370, 306466, '2002-08-28', 3, 0.5); +insert into ratings values (370, 306466, '2002-08-28', 4, 0.4); +insert into ratings values (370, 76196, '2001-12-27', 4, 0.5); +insert into ratings values (370, 76196, '2001-12-27', 5, 0.5); +insert into ratings values (370, 172474, '2002-04-17', 2, 1.0); +insert into ratings values (370, 499718, '2004-08-27', 1, 0.1); +insert into ratings values (370, 499718, '2004-08-27', 2, 0.6); +insert into ratings values (370, 499718, '2004-08-27', 3, 0.3); +insert into ratings values (370, 290916, '2004-08-05', 1, 0.5); +insert into ratings values (370, 290916, '2004-08-05', 2, 0.2); +insert into ratings values (370, 290916, '2004-08-05', 3, 0.3); +insert into ratings values (371, 283334, '2005-12-02', 1, 0.2); +insert into ratings values (371, 283334, '2005-12-02', 2, 0.6); +insert into ratings values (371, 283334, '2005-12-02', 3, 0.2); +insert into ratings values (371, 14690, '2005-01-19', 3, 1.0); +insert into ratings values (371, 125282, '2005-10-18', 3, 0.4); +insert into ratings values (371, 125282, '2005-10-18', 4, 0.1); +insert into ratings values (371, 125282, '2005-10-18', 5, 0.5); +insert into ratings values (371, 316050, '2005-08-02', 4, 0.5); +insert into ratings values (371, 316050, '2005-08-02', 5, 0.5); +insert into ratings values (371, 281396, '2004-02-24', 4, 0.7); +insert into ratings values (371, 281396, '2004-02-24', 5, 0.3); +insert into ratings values (372, 76196, '2002-02-05', 3, 0.5); +insert into ratings values (372, 76196, '2002-02-05', 4, 0.5); +insert into ratings values (372, 59100, '2005-07-21', 2, 1.0); +insert into ratings values (372, 166043, '2005-03-14', 5, 1.0); +insert into ratings values (372, 325964, '2005-11-01', 2, 0.6); +insert into ratings values (372, 325964, '2005-11-01', 3, 0.4); +insert into ratings values (372, 37693, '2005-06-30', 3, 0.6); +insert into ratings values (372, 37693, '2005-06-30', 4, 0.4); +insert into ratings values (373, 349399, '2002-11-06', 5, 1.0); +insert into ratings values (373, 302715, '2003-07-02', 2, 0.1); +insert into ratings values (373, 302715, '2003-07-02', 3, 0.6); +insert into ratings values (373, 302715, '2003-07-02', 4, 0.3); +insert into ratings values (373, 191768, '2003-12-08', 3, 0.3); +insert into ratings values (373, 191768, '2003-12-08', 4, 0.1); +insert into ratings values (373, 191768, '2003-12-08', 5, 0.6); +insert into ratings values (373, 322009, '2005-08-20', 2, 1.0); +insert into ratings values (373, 484520, '2004-12-26', 2, 1.0); +insert into ratings values (374, 441324, '2005-10-03', 2, 0.6); +insert into ratings values (374, 441324, '2005-10-03', 3, 0.4); +insert into ratings values (374, 69779, '2005-12-16', 1, 0.4); +insert into ratings values (374, 69779, '2005-12-16', 2, 0.6); +insert into ratings values (374, 112987, '2005-10-02', 3, 1.0); +insert into ratings values (374, 107871, '2005-12-28', 2, 0.3); +insert into ratings values (374, 107871, '2005-12-28', 3, 0.4); +insert into ratings values (374, 107871, '2005-12-28', 4, 0.3); +insert into ratings values (374, 9964, '2005-11-02', 4, 1.0); +insert into ratings values (375, 393953, '2004-08-12', 1, 1.0); +insert into ratings values (375, 249052, '2004-07-07', 3, 1.0); +insert into ratings values (375, 273292, '2004-10-25', 3, 1.0); +insert into ratings values (375, 95372, '2005-06-27', 2, 0.3); +insert into ratings values (375, 95372, '2005-06-27', 3, 0.5); +insert into ratings values (375, 95372, '2005-06-27', 4, 0.2); +insert into ratings values (375, 63170, '2005-08-12', 2, 0.2); +insert into ratings values (375, 63170, '2005-08-12', 3, 0.5); +insert into ratings values (375, 63170, '2005-08-12', 4, 0.3); +insert into ratings values (376, 483047, '2004-02-23', 4, 1.0); +insert into ratings values (376, 10289, '2004-07-21', 4, 1.0); +insert into ratings values (376, 244994, '2004-12-07', 5, 1.0); +insert into ratings values (376, 155342, '2004-05-02', 1, 0.5); +insert into ratings values (376, 155342, '2004-05-02', 2, 0.1); +insert into ratings values (376, 155342, '2004-05-02', 3, 0.4); +insert into ratings values (376, 148599, '2005-06-22', 2, 0.3); +insert into ratings values (376, 148599, '2005-06-22', 3, 0.7); +insert into ratings values (377, 389622, '2004-08-10', 1, 0.7); +insert into ratings values (377, 389622, '2004-08-10', 2, 0.3); +insert into ratings values (377, 186874, '2004-04-21', 4, 0.6); +insert into ratings values (377, 186874, '2004-04-21', 5, 0.4); +insert into ratings values (377, 410618, '2004-05-02', 1, 1.0); +insert into ratings values (377, 198549, '2004-06-27', 3, 0.1); +insert into ratings values (377, 198549, '2004-06-27', 4, 0.6); +insert into ratings values (377, 198549, '2004-06-27', 5, 0.3); +insert into ratings values (377, 467733, '2004-02-19', 1, 0.8); +insert into ratings values (377, 467733, '2004-02-19', 2, 0.2); +insert into ratings values (378, 462930, '2004-05-04', 3, 1.0); +insert into ratings values (378, 90339, '2004-06-15', 1, 1.0); +insert into ratings values (378, 487832, '2004-02-16', 2, 0.2); +insert into ratings values (378, 487832, '2004-02-16', 3, 0.8); +insert into ratings values (378, 359927, '2004-03-11', 3, 0.3); +insert into ratings values (378, 359927, '2004-03-11', 4, 0.4); +insert into ratings values (378, 359927, '2004-03-11', 5, 0.3); +insert into ratings values (378, 167993, '2004-11-21', 4, 0.7); +insert into ratings values (378, 167993, '2004-11-21', 5, 0.3); +insert into ratings values (379, 314009, '2005-05-25', 4, 1.0); +insert into ratings values (379, 49828, '2005-10-02', 2, 0.2); +insert into ratings values (379, 49828, '2005-10-02', 3, 0.4); +insert into ratings values (379, 49828, '2005-10-02', 4, 0.4); +insert into ratings values (379, 284143, '2005-08-16', 2, 0.4); +insert into ratings values (379, 284143, '2005-08-16', 3, 0.4); +insert into ratings values (379, 284143, '2005-08-16', 4, 0.2); +insert into ratings values (379, 235185, '2005-05-23', 2, 1.0); +insert into ratings values (379, 295813, '2005-12-28', 5, 1.0); +insert into ratings values (380, 303948, '2005-11-28', 1, 1.0); +insert into ratings values (380, 228968, '2005-08-06', 3, 0.1); +insert into ratings values (380, 228968, '2005-08-06', 4, 0.4); +insert into ratings values (380, 228968, '2005-08-06', 5, 0.5); +insert into ratings values (380, 198814, '2004-03-12', 3, 1.0); +insert into ratings values (380, 86365, '2004-08-03', 5, 1.0); +insert into ratings values (380, 61472, '2003-09-13', 2, 0.2); +insert into ratings values (380, 61472, '2003-09-13', 3, 0.4); +insert into ratings values (380, 61472, '2003-09-13', 4, 0.4); +insert into ratings values (381, 306466, '2001-11-26', 1, 1.0); +insert into ratings values (381, 43601, '2004-03-01', 4, 0.6); +insert into ratings values (381, 43601, '2004-03-01', 5, 0.4); +insert into ratings values (381, 339448, '2004-07-06', 4, 1.0); +insert into ratings values (381, 488477, '2004-08-24', 4, 1.0); +insert into ratings values (381, 394693, '2004-12-13', 3, 0.3); +insert into ratings values (381, 394693, '2004-12-13', 4, 0.5); +insert into ratings values (381, 394693, '2004-12-13', 5, 0.2); +insert into ratings values (382, 104046, '2005-02-07', 1, 0.6); +insert into ratings values (382, 104046, '2005-02-07', 2, 0.1); +insert into ratings values (382, 104046, '2005-02-07', 3, 0.3); +insert into ratings values (382, 322178, '2005-10-06', 2, 0.2); +insert into ratings values (382, 322178, '2005-10-06', 3, 0.5); +insert into ratings values (382, 322178, '2005-10-06', 4, 0.3); +insert into ratings values (382, 157677, '2004-11-23', 2, 0.2); +insert into ratings values (382, 157677, '2004-11-23', 3, 0.8); +insert into ratings values (382, 477116, '2004-11-29', 3, 1.0); +insert into ratings values (382, 428624, '2004-12-13', 2, 0.5); +insert into ratings values (382, 428624, '2004-12-13', 3, 0.5); +insert into ratings values (383, 497196, '2003-04-13', 1, 0.3); +insert into ratings values (383, 497196, '2003-04-13', 2, 0.6); +insert into ratings values (383, 497196, '2003-04-13', 3, 0.1); +insert into ratings values (383, 380192, '2004-08-01', 3, 0.6); +insert into ratings values (383, 380192, '2004-08-01', 4, 0.4); +insert into ratings values (383, 487949, '2004-06-18', 1, 0.2); +insert into ratings values (383, 487949, '2004-06-18', 2, 0.8); +insert into ratings values (383, 24373, '2003-05-27', 3, 1.0); +insert into ratings values (383, 387457, '2005-01-10', 3, 0.6); +insert into ratings values (383, 387457, '2005-01-10', 4, 0.4); +insert into ratings values (384, 461110, '2005-12-30', 4, 0.5); +insert into ratings values (384, 461110, '2005-12-30', 5, 0.5); +insert into ratings values (384, 157736, '2005-03-06', 2, 0.2); +insert into ratings values (384, 157736, '2005-03-06', 3, 0.5); +insert into ratings values (384, 157736, '2005-03-06', 4, 0.3); +insert into ratings values (384, 256740, '2005-06-13', 5, 1.0); +insert into ratings values (384, 316685, '2004-11-22', 2, 0.2); +insert into ratings values (384, 316685, '2004-11-22', 3, 0.8); +insert into ratings values (384, 341055, '2005-08-13', 2, 0.1); +insert into ratings values (384, 341055, '2005-08-13', 3, 0.5); +insert into ratings values (384, 341055, '2005-08-13', 4, 0.4); +insert into ratings values (385, 84527, '2004-01-15', 4, 0.7); +insert into ratings values (385, 84527, '2004-01-15', 5, 0.3); +insert into ratings values (385, 492722, '2004-01-09', 5, 1.0); +insert into ratings values (385, 404377, '2003-12-04', 4, 1.0); +insert into ratings values (385, 173183, '2004-01-15', 3, 0.6); +insert into ratings values (385, 173183, '2004-01-15', 4, 0.4); +insert into ratings values (385, 370762, '2004-02-09', 4, 0.5); +insert into ratings values (385, 370762, '2004-02-09', 5, 0.5); +insert into ratings values (386, 70976, '2004-02-17', 1, 0.4); +insert into ratings values (386, 70976, '2004-02-17', 2, 0.1); +insert into ratings values (386, 70976, '2004-02-17', 3, 0.5); +insert into ratings values (386, 86879, '2002-09-01', 2, 0.4); +insert into ratings values (386, 86879, '2002-09-01', 3, 0.5); +insert into ratings values (386, 86879, '2002-09-01', 4, 0.1); +insert into ratings values (386, 497196, '2004-03-11', 3, 0.4); +insert into ratings values (386, 497196, '2004-03-11', 4, 0.6); +insert into ratings values (386, 32785, '2004-03-14', 1, 1.0); +insert into ratings values (386, 441324, '2005-01-12', 1, 0.4); +insert into ratings values (386, 441324, '2005-01-12', 2, 0.6); +insert into ratings values (387, 132633, '2004-02-26', 4, 1.0); +insert into ratings values (387, 323063, '2005-03-23', 3, 0.4); +insert into ratings values (387, 323063, '2005-03-23', 4, 0.6); +insert into ratings values (387, 108374, '2005-05-11', 3, 1.0); +insert into ratings values (387, 23061, '2005-08-02', 3, 0.7); +insert into ratings values (387, 23061, '2005-08-02', 4, 0.3); +insert into ratings values (387, 262204, '2003-11-26', 3, 0.4); +insert into ratings values (387, 262204, '2003-11-26', 4, 0.5); +insert into ratings values (387, 262204, '2003-11-26', 5, 0.1); +insert into ratings values (388, 193414, '2005-01-31', 4, 1.0); +insert into ratings values (388, 449210, '2002-12-11', 2, 1.0); +insert into ratings values (388, 108368, '2003-10-20', 3, 0.3); +insert into ratings values (388, 108368, '2003-10-20', 4, 0.6); +insert into ratings values (388, 108368, '2003-10-20', 5, 0.1); +insert into ratings values (388, 277843, '2004-09-30', 1, 0.4); +insert into ratings values (388, 277843, '2004-09-30', 2, 0.3); +insert into ratings values (388, 277843, '2004-09-30', 3, 0.3); +insert into ratings values (388, 456439, '2003-11-22', 1, 0.6); +insert into ratings values (388, 456439, '2003-11-22', 2, 0.4); +insert into ratings values (389, 166595, '2005-08-30', 2, 0.4); +insert into ratings values (389, 166595, '2005-08-30', 3, 0.5); +insert into ratings values (389, 166595, '2005-08-30', 4, 0.1); +insert into ratings values (389, 469058, '2005-06-06', 3, 0.5); +insert into ratings values (389, 469058, '2005-06-06', 4, 0.5); +insert into ratings values (389, 322173, '2005-06-01', 2, 0.1); +insert into ratings values (389, 322173, '2005-06-01', 3, 0.4); +insert into ratings values (389, 322173, '2005-06-01', 4, 0.5); +insert into ratings values (389, 429281, '2005-05-23', 3, 1.0); +insert into ratings values (389, 314009, '2005-06-02', 3, 0.4); +insert into ratings values (389, 314009, '2005-06-02', 4, 0.6); +insert into ratings values (390, 364518, '2003-11-18', 2, 1.0); +insert into ratings values (390, 306466, '2003-09-12', 1, 0.3); +insert into ratings values (390, 306466, '2003-09-12', 2, 0.5); +insert into ratings values (390, 306466, '2003-09-12', 3, 0.2); +insert into ratings values (390, 66568, '2004-02-03', 2, 0.4); +insert into ratings values (390, 66568, '2004-02-03', 3, 0.5); +insert into ratings values (390, 66568, '2004-02-03', 4, 0.1); +insert into ratings values (390, 273292, '2003-10-13', 1, 0.4); +insert into ratings values (390, 273292, '2003-10-13', 2, 0.6); +insert into ratings values (390, 439011, '2003-11-17', 2, 1.0); +insert into ratings values (391, 317060, '2005-08-06', 5, 1.0); +insert into ratings values (391, 442593, '2005-07-04', 4, 1.0); +insert into ratings values (391, 47411, '2005-01-23', 4, 0.4); +insert into ratings values (391, 47411, '2005-01-23', 5, 0.6); +insert into ratings values (391, 200255, '2005-06-15', 3, 0.1); +insert into ratings values (391, 200255, '2005-06-15', 4, 0.3); +insert into ratings values (391, 200255, '2005-06-15', 5, 0.6); +insert into ratings values (391, 300074, '2005-07-10', 4, 1.0); +insert into ratings values (392, 355914, '2005-12-15', 1, 1.0); +insert into ratings values (392, 133396, '2005-10-04', 3, 0.2); +insert into ratings values (392, 133396, '2005-10-04', 4, 0.3); +insert into ratings values (392, 133396, '2005-10-04', 5, 0.5); +insert into ratings values (392, 396132, '2005-09-15', 2, 0.1); +insert into ratings values (392, 396132, '2005-09-15', 3, 0.5); +insert into ratings values (392, 396132, '2005-09-15', 4, 0.4); +insert into ratings values (392, 165288, '2005-09-12', 2, 0.1); +insert into ratings values (392, 165288, '2005-09-12', 3, 0.5); +insert into ratings values (392, 165288, '2005-09-12', 4, 0.4); +insert into ratings values (392, 18963, '2005-10-08', 4, 0.5); +insert into ratings values (392, 18963, '2005-10-08', 5, 0.5); +insert into ratings values (393, 306466, '2002-05-02', 2, 0.1); +insert into ratings values (393, 306466, '2002-05-02', 3, 0.5); +insert into ratings values (393, 306466, '2002-05-02', 4, 0.4); +insert into ratings values (393, 276813, '2002-04-25', 2, 0.1); +insert into ratings values (393, 276813, '2002-04-25', 3, 0.4); +insert into ratings values (393, 276813, '2002-04-25', 4, 0.5); +insert into ratings values (393, 77471, '2004-11-26', 3, 0.4); +insert into ratings values (393, 77471, '2004-11-26', 4, 0.6); +insert into ratings values (393, 175214, '2005-07-31', 1, 0.5); +insert into ratings values (393, 175214, '2005-07-31', 2, 0.4); +insert into ratings values (393, 175214, '2005-07-31', 3, 0.1); +insert into ratings values (393, 166830, '2004-05-29', 4, 0.4); +insert into ratings values (393, 166830, '2004-05-29', 5, 0.6); +insert into ratings values (394, 306466, '2001-05-11', 2, 0.2); +insert into ratings values (394, 306466, '2001-05-11', 3, 0.4); +insert into ratings values (394, 306466, '2001-05-11', 4, 0.4); +insert into ratings values (394, 14690, '2001-03-15', 3, 0.3); +insert into ratings values (394, 14690, '2001-03-15', 4, 0.7); +insert into ratings values (394, 433185, '2002-12-10', 3, 1.0); +insert into ratings values (394, 175887, '2004-03-11', 4, 1.0); +insert into ratings values (394, 255344, '2005-10-22', 3, 0.4); +insert into ratings values (394, 255344, '2005-10-22', 4, 0.6); +insert into ratings values (395, 41412, '2005-04-30', 3, 0.4); +insert into ratings values (395, 41412, '2005-04-30', 4, 0.1); +insert into ratings values (395, 41412, '2005-04-30', 5, 0.5); +insert into ratings values (395, 97704, '2005-07-15', 4, 0.4); +insert into ratings values (395, 97704, '2005-07-15', 5, 0.6); +insert into ratings values (395, 315356, '2005-07-19', 2, 0.6); +insert into ratings values (395, 315356, '2005-07-19', 3, 0.4); +insert into ratings values (395, 433803, '2005-05-18', 3, 0.1); +insert into ratings values (395, 433803, '2005-05-18', 4, 0.6); +insert into ratings values (395, 433803, '2005-05-18', 5, 0.3); +insert into ratings values (395, 247794, '2005-11-28', 3, 0.5); +insert into ratings values (395, 247794, '2005-11-28', 4, 0.4); +insert into ratings values (395, 247794, '2005-11-28', 5, 0.1); +insert into ratings values (396, 41412, '2004-07-08', 2, 1.0); +insert into ratings values (396, 305151, '2004-12-27', 3, 1.0); +insert into ratings values (396, 85856, '2005-04-25', 4, 1.0); +insert into ratings values (396, 466322, '2005-05-23', 1, 0.5); +insert into ratings values (396, 466322, '2005-05-23', 2, 0.2); +insert into ratings values (396, 466322, '2005-05-23', 3, 0.3); +insert into ratings values (396, 137504, '2005-05-11', 5, 1.0); +insert into ratings values (397, 264160, '2005-08-28', 3, 0.3); +insert into ratings values (397, 264160, '2005-08-28', 4, 0.1); +insert into ratings values (397, 264160, '2005-08-28', 5, 0.6); +insert into ratings values (397, 317060, '2005-04-10', 5, 1.0); +insert into ratings values (397, 499718, '2005-08-28', 2, 0.2); +insert into ratings values (397, 499718, '2005-08-28', 3, 0.4); +insert into ratings values (397, 499718, '2005-08-28', 4, 0.4); +insert into ratings values (397, 279960, '2005-12-12', 3, 0.3); +insert into ratings values (397, 279960, '2005-12-12', 4, 0.7); +insert into ratings values (397, 240214, '2005-12-01', 2, 0.6); +insert into ratings values (397, 240214, '2005-12-01', 3, 0.4); +insert into ratings values (398, 364518, '2002-09-09', 2, 0.1); +insert into ratings values (398, 364518, '2002-09-09', 3, 0.6); +insert into ratings values (398, 364518, '2002-09-09', 4, 0.3); +insert into ratings values (398, 160876, '2004-10-04', 1, 0.4); +insert into ratings values (398, 160876, '2004-10-04', 2, 0.5); +insert into ratings values (398, 160876, '2004-10-04', 3, 0.1); +insert into ratings values (398, 120539, '2005-10-04', 2, 0.4); +insert into ratings values (398, 120539, '2005-10-04', 3, 0.6); +insert into ratings values (398, 284096, '2005-07-05', 1, 0.3); +insert into ratings values (398, 284096, '2005-07-05', 2, 0.5); +insert into ratings values (398, 284096, '2005-07-05', 3, 0.2); +insert into ratings values (398, 154959, '2005-07-18', 3, 0.5); +insert into ratings values (398, 154959, '2005-07-18', 4, 0.4); +insert into ratings values (398, 154959, '2005-07-18', 5, 0.1); +insert into ratings values (399, 403531, '2003-11-16', 3, 0.3); +insert into ratings values (399, 403531, '2003-11-16', 4, 0.2); +insert into ratings values (399, 403531, '2003-11-16', 5, 0.5); +insert into ratings values (399, 281396, '2004-09-23', 3, 0.6); +insert into ratings values (399, 281396, '2004-09-23', 4, 0.4); +insert into ratings values (399, 52540, '2003-03-16', 2, 0.2); +insert into ratings values (399, 52540, '2003-03-16', 3, 0.8); +insert into ratings values (399, 125296, '2003-03-03', 1, 1.0); +insert into ratings values (399, 235789, '2004-10-27', 3, 1.0); +insert into ratings values (400, 41412, '2003-08-10', 3, 0.3); +insert into ratings values (400, 41412, '2003-08-10', 4, 0.7); +insert into ratings values (400, 333490, '2005-07-18', 3, 0.3); +insert into ratings values (400, 333490, '2005-07-18', 4, 0.4); +insert into ratings values (400, 333490, '2005-07-18', 5, 0.3); +insert into ratings values (400, 335395, '2005-08-15', 5, 1.0); +insert into ratings values (400, 139297, '2003-12-08', 3, 0.1); +insert into ratings values (400, 139297, '2003-12-08', 4, 0.5); +insert into ratings values (400, 139297, '2003-12-08', 5, 0.4); +insert into ratings values (400, 68845, '2003-08-18', 4, 1.0); +insert into ratings values (401, 393953, '2005-07-29', 3, 1.0); +insert into ratings values (401, 146200, '2005-05-15', 1, 0.5); +insert into ratings values (401, 146200, '2005-05-15', 2, 0.5); +insert into ratings values (401, 86062, '2005-11-12', 3, 0.3); +insert into ratings values (401, 86062, '2005-11-12', 4, 0.6); +insert into ratings values (401, 86062, '2005-11-12', 5, 0.1); +insert into ratings values (401, 332915, '2005-11-14', 4, 1.0); +insert into ratings values (401, 481668, '2005-04-26', 3, 1.0); +insert into ratings values (402, 6689, '2005-01-31', 3, 0.6); +insert into ratings values (402, 6689, '2005-01-31', 4, 0.4); +insert into ratings values (402, 164210, '2005-09-26', 3, 1.0); +insert into ratings values (402, 80127, '2005-02-13', 5, 1.0); +insert into ratings values (402, 8121, '2005-10-24', 1, 0.5); +insert into ratings values (402, 8121, '2005-10-24', 2, 0.5); +insert into ratings values (402, 435068, '2005-03-22', 2, 0.4); +insert into ratings values (402, 435068, '2005-03-22', 3, 0.6); +insert into ratings values (403, 66187, '2005-08-23', 1, 0.5); +insert into ratings values (403, 66187, '2005-08-23', 2, 0.3); +insert into ratings values (403, 66187, '2005-08-23', 3, 0.2); +insert into ratings values (403, 76196, '2002-01-24', 3, 0.8); +insert into ratings values (403, 76196, '2002-01-24', 4, 0.2); +insert into ratings values (403, 29395, '2002-12-24', 2, 0.2); +insert into ratings values (403, 29395, '2002-12-24', 3, 0.6); +insert into ratings values (403, 29395, '2002-12-24', 4, 0.2); +insert into ratings values (403, 1358, '2004-02-02', 1, 1.0); +insert into ratings values (403, 152178, '2001-10-10', 2, 0.6); +insert into ratings values (403, 152178, '2001-10-10', 3, 0.4); +insert into ratings values (404, 319119, '2004-07-19', 3, 0.6); +insert into ratings values (404, 319119, '2004-07-19', 4, 0.4); +insert into ratings values (404, 125296, '2004-10-31', 1, 0.2); +insert into ratings values (404, 125296, '2004-10-31', 2, 0.6); +insert into ratings values (404, 125296, '2004-10-31', 3, 0.2); +insert into ratings values (404, 310049, '2004-04-02', 1, 1.0); +insert into ratings values (404, 138594, '2003-06-17', 2, 1.0); +insert into ratings values (404, 158197, '2003-11-02', 1, 0.2); +insert into ratings values (404, 158197, '2003-11-02', 2, 0.6); +insert into ratings values (404, 158197, '2003-11-02', 3, 0.2); +insert into ratings values (405, 290621, '2004-08-09', 3, 0.2); +insert into ratings values (405, 290621, '2004-08-09', 4, 0.3); +insert into ratings values (405, 290621, '2004-08-09', 5, 0.5); +insert into ratings values (405, 379558, '2005-08-25', 5, 1.0); +insert into ratings values (405, 134188, '2003-09-25', 2, 0.8); +insert into ratings values (405, 134188, '2003-09-25', 3, 0.2); +insert into ratings values (405, 134768, '2005-02-17', 5, 1.0); +insert into ratings values (405, 147748, '2005-04-27', 1, 0.4); +insert into ratings values (405, 147748, '2005-04-27', 2, 0.5); +insert into ratings values (405, 147748, '2005-04-27', 3, 0.1); +insert into ratings values (406, 53679, '2005-07-08', 4, 1.0); +insert into ratings values (406, 95372, '2005-07-08', 3, 1.0); +insert into ratings values (406, 301205, '2005-07-10', 1, 0.6); +insert into ratings values (406, 301205, '2005-07-10', 2, 0.4); +insert into ratings values (406, 183907, '2005-07-10', 4, 1.0); +insert into ratings values (406, 43601, '2005-07-11', 4, 0.4); +insert into ratings values (406, 43601, '2005-07-11', 5, 0.6); +insert into ratings values (407, 247794, '2003-09-25', 3, 1.0); +insert into ratings values (407, 467801, '2004-04-05', 2, 0.8); +insert into ratings values (407, 467801, '2004-04-05', 3, 0.2); +insert into ratings values (407, 417918, '2005-06-02', 2, 1.0); +insert into ratings values (407, 424982, '2003-08-26', 1, 1.0); +insert into ratings values (407, 419599, '2005-01-06', 4, 0.5); +insert into ratings values (407, 419599, '2005-01-06', 5, 0.5); +insert into ratings values (408, 306466, '2001-11-26', 3, 0.6); +insert into ratings values (408, 306466, '2001-11-26', 4, 0.4); +insert into ratings values (408, 439931, '2004-07-31', 4, 1.0); +insert into ratings values (408, 48536, '2005-11-12', 4, 1.0); +insert into ratings values (408, 249052, '2005-12-31', 4, 0.3); +insert into ratings values (408, 249052, '2005-12-31', 5, 0.7); +insert into ratings values (408, 327122, '2004-02-07', 3, 1.0); +insert into ratings values (409, 499040, '2005-03-22', 3, 0.5); +insert into ratings values (409, 499040, '2005-03-22', 4, 0.5); +insert into ratings values (409, 317060, '2005-02-11', 4, 0.2); +insert into ratings values (409, 317060, '2005-02-11', 5, 0.8); +insert into ratings values (409, 71148, '2005-02-17', 1, 0.3); +insert into ratings values (409, 71148, '2005-02-17', 2, 0.6); +insert into ratings values (409, 71148, '2005-02-17', 3, 0.1); +insert into ratings values (409, 132479, '2005-03-14', 2, 0.1); +insert into ratings values (409, 132479, '2005-03-14', 3, 0.5); +insert into ratings values (409, 132479, '2005-03-14', 4, 0.4); +insert into ratings values (409, 303948, '2005-07-14', 3, 0.3); +insert into ratings values (409, 303948, '2005-07-14', 4, 0.4); +insert into ratings values (409, 303948, '2005-07-14', 5, 0.3); +insert into ratings values (410, 213068, '2003-07-19', 3, 0.1); +insert into ratings values (410, 213068, '2003-07-19', 4, 0.4); +insert into ratings values (410, 213068, '2003-07-19', 5, 0.5); +insert into ratings values (410, 164608, '2005-04-14', 5, 1.0); +insert into ratings values (410, 78986, '2004-01-23', 3, 0.5); +insert into ratings values (410, 78986, '2004-01-23', 4, 0.1); +insert into ratings values (410, 78986, '2004-01-23', 5, 0.4); +insert into ratings values (410, 979, '2005-08-25', 1, 0.2); +insert into ratings values (410, 979, '2005-08-25', 2, 0.8); +insert into ratings values (410, 37188, '2005-06-17', 3, 0.3); +insert into ratings values (410, 37188, '2005-06-17', 4, 0.3); +insert into ratings values (410, 37188, '2005-06-17', 5, 0.4); +insert into ratings values (411, 499718, '2005-01-12', 3, 0.8); +insert into ratings values (411, 499718, '2005-01-12', 4, 0.2); +insert into ratings values (411, 243113, '2005-07-14', 3, 0.1); +insert into ratings values (411, 243113, '2005-07-14', 4, 0.4); +insert into ratings values (411, 243113, '2005-07-14', 5, 0.5); +insert into ratings values (411, 431839, '2002-10-03', 3, 1.0); +insert into ratings values (411, 423607, '2004-09-27', 3, 1.0); +insert into ratings values (411, 48876, '2002-01-07', 3, 1.0); +insert into ratings values (412, 466063, '2005-03-09', 3, 0.3); +insert into ratings values (412, 466063, '2005-03-09', 4, 0.6); +insert into ratings values (412, 466063, '2005-03-09', 5, 0.1); +insert into ratings values (412, 76196, '2002-02-05', 4, 0.4); +insert into ratings values (412, 76196, '2002-02-05', 5, 0.6); +insert into ratings values (412, 335572, '2003-06-05', 2, 0.1); +insert into ratings values (412, 335572, '2003-06-05', 3, 0.6); +insert into ratings values (412, 335572, '2003-06-05', 4, 0.3); +insert into ratings values (412, 489925, '2003-11-25', 3, 0.3); +insert into ratings values (412, 489925, '2003-11-25', 4, 0.6); +insert into ratings values (412, 489925, '2003-11-25', 5, 0.1); +insert into ratings values (412, 470232, '2003-03-18', 3, 1.0); +insert into ratings values (413, 364518, '2003-12-15', 2, 0.6); +insert into ratings values (413, 364518, '2003-12-15', 3, 0.4); +insert into ratings values (413, 306466, '2003-05-06', 3, 0.6); +insert into ratings values (413, 306466, '2003-05-06', 4, 0.4); +insert into ratings values (413, 77471, '2003-03-10', 4, 1.0); +insert into ratings values (413, 307939, '2003-05-08', 2, 0.1); +insert into ratings values (413, 307939, '2003-05-08', 3, 0.5); +insert into ratings values (413, 307939, '2003-05-08', 4, 0.4); +insert into ratings values (413, 311919, '2003-06-19', 2, 1.0); +insert into ratings values (414, 466862, '2005-05-06', 3, 0.7); +insert into ratings values (414, 466862, '2005-05-06', 4, 0.3); +insert into ratings values (414, 70976, '2004-02-28', 1, 1.0); +insert into ratings values (414, 130189, '2002-08-01', 3, 0.1); +insert into ratings values (414, 130189, '2002-08-01', 4, 0.5); +insert into ratings values (414, 130189, '2002-08-01', 5, 0.4); +insert into ratings values (414, 461110, '2003-04-07', 1, 0.5); +insert into ratings values (414, 461110, '2003-04-07', 2, 0.5); +insert into ratings values (414, 76196, '2002-01-24', 1, 0.3); +insert into ratings values (414, 76196, '2002-01-24', 2, 0.7); +insert into ratings values (415, 125296, '2003-03-12', 3, 1.0); +insert into ratings values (415, 420783, '2002-11-19', 1, 0.5); +insert into ratings values (415, 420783, '2002-11-19', 2, 0.5); +insert into ratings values (415, 155342, '2003-08-22', 1, 0.5); +insert into ratings values (415, 155342, '2003-08-22', 2, 0.5); +insert into ratings values (415, 299153, '2003-07-01', 1, 0.6); +insert into ratings values (415, 299153, '2003-07-01', 2, 0.2); +insert into ratings values (415, 299153, '2003-07-01', 3, 0.2); +insert into ratings values (415, 440752, '2004-05-07', 1, 0.6); +insert into ratings values (415, 440752, '2004-05-07', 2, 0.4); +insert into ratings values (416, 311919, '2004-07-08', 4, 0.4); +insert into ratings values (416, 311919, '2004-07-08', 5, 0.6); +insert into ratings values (416, 44937, '2004-08-25', 4, 1.0); +insert into ratings values (416, 364518, '2005-09-02', 1, 0.4); +insert into ratings values (416, 364518, '2005-09-02', 2, 0.4); +insert into ratings values (416, 364518, '2005-09-02', 3, 0.2); +insert into ratings values (416, 117277, '2004-07-28', 4, 1.0); +insert into ratings values (416, 25382, '2004-06-03', 2, 0.2); +insert into ratings values (416, 25382, '2004-06-03', 3, 0.6); +insert into ratings values (416, 25382, '2004-06-03', 4, 0.2); +insert into ratings values (417, 30878, '2004-12-14', 5, 1.0); +insert into ratings values (417, 481668, '2005-06-28', 3, 0.4); +insert into ratings values (417, 481668, '2005-06-28', 4, 0.5); +insert into ratings values (417, 481668, '2005-06-28', 5, 0.1); +insert into ratings values (417, 264160, '2005-07-06', 3, 1.0); +insert into ratings values (417, 421709, '2005-07-25', 4, 0.2); +insert into ratings values (417, 421709, '2005-07-25', 5, 0.8); +insert into ratings values (417, 331341, '2004-12-05', 5, 1.0); +insert into ratings values (418, 263315, '2005-08-29', 3, 1.0); +insert into ratings values (418, 172622, '2005-08-29', 2, 0.2); +insert into ratings values (418, 172622, '2005-08-29', 3, 0.8); +insert into ratings values (418, 295983, '2005-10-21', 1, 0.1); +insert into ratings values (418, 295983, '2005-10-21', 2, 0.6); +insert into ratings values (418, 295983, '2005-10-21', 3, 0.3); +insert into ratings values (418, 476805, '2005-10-25', 2, 1.0); +insert into ratings values (418, 166595, '2005-10-31', 3, 1.0); +insert into ratings values (419, 365554, '2005-10-27', 3, 1.0); +insert into ratings values (419, 386766, '2005-10-28', 3, 0.4); +insert into ratings values (419, 386766, '2005-10-28', 4, 0.6); +insert into ratings values (419, 64134, '2005-11-07', 2, 0.3); +insert into ratings values (419, 64134, '2005-11-07', 3, 0.6); +insert into ratings values (419, 64134, '2005-11-07', 4, 0.1); +insert into ratings values (419, 416557, '2005-11-10', 5, 1.0); +insert into ratings values (419, 224584, '2005-11-29', 4, 1.0); +insert into ratings values (420, 66568, '2004-03-03', 3, 1.0); +insert into ratings values (420, 314421, '2005-07-19', 1, 0.6); +insert into ratings values (420, 314421, '2005-07-19', 2, 0.3); +insert into ratings values (420, 314421, '2005-07-19', 3, 0.1); +insert into ratings values (420, 30878, '2004-02-25', 3, 0.5); +insert into ratings values (420, 30878, '2004-02-25', 4, 0.5); +insert into ratings values (420, 282391, '2004-10-26', 3, 0.5); +insert into ratings values (420, 282391, '2004-10-26', 4, 0.5); +insert into ratings values (420, 327122, '2004-02-19', 5, 1.0); +insert into ratings values (421, 160977, '2005-07-22', 5, 1.0); +insert into ratings values (421, 441153, '2005-05-01', 4, 0.5); +insert into ratings values (421, 441153, '2005-05-01', 5, 0.5); +insert into ratings values (421, 163830, '2005-04-11', 3, 1.0); +insert into ratings values (421, 371312, '2005-08-11', 3, 0.3); +insert into ratings values (421, 371312, '2005-08-11', 4, 0.6); +insert into ratings values (421, 371312, '2005-08-11', 5, 0.1); +insert into ratings values (421, 499718, '2005-10-27', 2, 0.2); +insert into ratings values (421, 499718, '2005-10-27', 3, 0.6); +insert into ratings values (421, 499718, '2005-10-27', 4, 0.2); +insert into ratings values (422, 84527, '2004-04-04', 4, 0.8); +insert into ratings values (422, 84527, '2004-04-04', 5, 0.2); +insert into ratings values (422, 243963, '2005-08-30', 4, 0.6); +insert into ratings values (422, 243963, '2005-08-30', 5, 0.4); +insert into ratings values (422, 160977, '2005-05-02', 3, 1.0); +insert into ratings values (422, 14690, '2002-04-20', 4, 1.0); +insert into ratings values (422, 247794, '2002-02-06', 2, 0.4); +insert into ratings values (422, 247794, '2002-02-06', 3, 0.6); +insert into ratings values (423, 223752, '2005-01-24', 1, 0.6); +insert into ratings values (423, 223752, '2005-01-24', 2, 0.4); +insert into ratings values (423, 348646, '2003-11-26', 2, 0.5); +insert into ratings values (423, 348646, '2003-11-26', 3, 0.5); +insert into ratings values (423, 300074, '2005-07-10', 1, 0.4); +insert into ratings values (423, 300074, '2005-07-10', 2, 0.3); +insert into ratings values (423, 300074, '2005-07-10', 3, 0.3); +insert into ratings values (423, 178860, '2005-01-29', 2, 0.6); +insert into ratings values (423, 178860, '2005-01-29', 3, 0.4); +insert into ratings values (423, 349572, '2005-12-17', 3, 0.4); +insert into ratings values (423, 349572, '2005-12-17', 4, 0.6); +insert into ratings values (424, 364518, '2004-05-19', 2, 0.5); +insert into ratings values (424, 364518, '2004-05-19', 3, 0.4); +insert into ratings values (424, 364518, '2004-05-19', 4, 0.1); +insert into ratings values (424, 477388, '2000-09-30', 4, 0.7); +insert into ratings values (424, 477388, '2000-09-30', 5, 0.3); +insert into ratings values (424, 176006, '2004-05-13', 4, 0.7); +insert into ratings values (424, 176006, '2004-05-13', 5, 0.3); +insert into ratings values (424, 25382, '2004-04-22', 4, 1.0); +insert into ratings values (424, 86767, '2004-04-20', 4, 0.5); +insert into ratings values (424, 86767, '2004-04-20', 5, 0.5); +insert into ratings values (425, 473644, '2005-08-30', 2, 0.4); +insert into ratings values (425, 473644, '2005-08-30', 3, 0.4); +insert into ratings values (425, 473644, '2005-08-30', 4, 0.2); +insert into ratings values (425, 430446, '2004-09-09', 3, 0.5); +insert into ratings values (425, 430446, '2004-09-09', 4, 0.5); +insert into ratings values (425, 452810, '2004-12-18', 1, 0.5); +insert into ratings values (425, 452810, '2004-12-18', 2, 0.4); +insert into ratings values (425, 452810, '2004-12-18', 3, 0.1); +insert into ratings values (425, 174699, '2005-01-27', 1, 0.4); +insert into ratings values (425, 174699, '2005-01-27', 2, 0.1); +insert into ratings values (425, 174699, '2005-01-27', 3, 0.5); +insert into ratings values (425, 68845, '2004-04-28', 4, 1.0); +insert into ratings values (426, 383059, '2004-10-13', 3, 0.4); +insert into ratings values (426, 383059, '2004-10-13', 4, 0.2); +insert into ratings values (426, 383059, '2004-10-13', 5, 0.4); +insert into ratings values (426, 247794, '2002-02-06', 2, 1.0); +insert into ratings values (426, 68845, '2001-09-17', 3, 0.8); +insert into ratings values (426, 68845, '2001-09-17', 4, 0.2); +insert into ratings values (426, 47226, '2003-03-10', 3, 0.7); +insert into ratings values (426, 47226, '2003-03-10', 4, 0.3); +insert into ratings values (426, 318040, '2005-12-03', 3, 0.6); +insert into ratings values (426, 318040, '2005-12-03', 4, 0.4); +insert into ratings values (427, 39956, '2003-10-14', 4, 0.6); +insert into ratings values (427, 39956, '2003-10-14', 5, 0.4); +insert into ratings values (427, 297341, '2005-12-08', 3, 0.1); +insert into ratings values (427, 297341, '2005-12-08', 4, 0.4); +insert into ratings values (427, 297341, '2005-12-08', 5, 0.5); +insert into ratings values (427, 461110, '2003-10-22', 1, 0.4); +insert into ratings values (427, 461110, '2003-10-22', 2, 0.6); +insert into ratings values (427, 52647, '2004-08-19', 3, 0.5); +insert into ratings values (427, 52647, '2004-08-19', 4, 0.5); +insert into ratings values (427, 128837, '2004-07-26', 3, 1.0); +insert into ratings values (428, 70566, '2004-11-12', 2, 0.2); +insert into ratings values (428, 70566, '2004-11-12', 3, 0.6); +insert into ratings values (428, 70566, '2004-11-12', 4, 0.2); +insert into ratings values (428, 422157, '2005-07-26', 4, 0.5); +insert into ratings values (428, 422157, '2005-07-26', 5, 0.5); +insert into ratings values (428, 449731, '2005-04-15', 3, 0.6); +insert into ratings values (428, 449731, '2005-04-15', 4, 0.4); +insert into ratings values (428, 110308, '2005-09-21', 5, 1.0); +insert into ratings values (428, 100936, '2005-10-17', 1, 0.5); +insert into ratings values (428, 100936, '2005-10-17', 2, 0.5); +insert into ratings values (429, 163175, '2005-04-12', 4, 1.0); +insert into ratings values (429, 86879, '2002-10-26', 3, 0.4); +insert into ratings values (429, 86879, '2002-10-26', 4, 0.6); +insert into ratings values (429, 16066, '2004-09-11', 5, 1.0); +insert into ratings values (429, 12876, '2005-11-01', 4, 0.5); +insert into ratings values (429, 12876, '2005-11-01', 5, 0.5); +insert into ratings values (429, 124237, '2004-10-31', 4, 0.8); +insert into ratings values (429, 124237, '2004-10-31', 5, 0.2); +insert into ratings values (430, 305151, '2004-06-02', 3, 0.2); +insert into ratings values (430, 305151, '2004-06-02', 4, 0.5); +insert into ratings values (430, 305151, '2004-06-02', 5, 0.3); +insert into ratings values (430, 229944, '2005-01-30', 5, 1.0); +insert into ratings values (430, 497196, '2005-05-11', 1, 0.4); +insert into ratings values (430, 497196, '2005-05-11', 2, 0.6); +insert into ratings values (430, 499914, '2005-02-22', 5, 1.0); +insert into ratings values (430, 310856, '2005-05-23', 1, 1.0); +insert into ratings values (431, 41412, '2004-09-07', 3, 0.3); +insert into ratings values (431, 41412, '2004-09-07', 4, 0.6); +insert into ratings values (431, 41412, '2004-09-07', 5, 0.1); +insert into ratings values (431, 68321, '2004-02-02', 3, 0.2); +insert into ratings values (431, 68321, '2004-02-02', 4, 0.3); +insert into ratings values (431, 68321, '2004-02-02', 5, 0.5); +insert into ratings values (431, 457142, '2004-01-05', 5, 1.0); +insert into ratings values (431, 229944, '2004-11-30', 4, 0.2); +insert into ratings values (431, 229944, '2004-11-30', 5, 0.8); +insert into ratings values (431, 379558, '2005-10-11', 3, 1.0); +insert into ratings values (432, 160977, '2005-08-02', 3, 0.4); +insert into ratings values (432, 160977, '2005-08-02', 4, 0.2); +insert into ratings values (432, 160977, '2005-08-02', 5, 0.4); +insert into ratings values (432, 391744, '2005-02-19', 4, 1.0); +insert into ratings values (432, 442739, '2005-01-05', 4, 0.3); +insert into ratings values (432, 442739, '2005-01-05', 5, 0.7); +insert into ratings values (432, 193223, '2005-11-28', 3, 0.8); +insert into ratings values (432, 193223, '2005-11-28', 4, 0.2); +insert into ratings values (432, 481668, '2005-07-07', 3, 1.0); +insert into ratings values (433, 389606, '2003-11-25', 1, 0.5); +insert into ratings values (433, 389606, '2003-11-25', 2, 0.5); +insert into ratings values (433, 339448, '2004-05-31', 4, 0.5); +insert into ratings values (433, 339448, '2004-05-31', 5, 0.5); +insert into ratings values (433, 325046, '2004-01-22', 5, 1.0); +insert into ratings values (433, 86767, '2004-04-07', 4, 0.2); +insert into ratings values (433, 86767, '2004-04-07', 5, 0.8); +insert into ratings values (433, 473644, '2005-02-22', 4, 1.0); +insert into ratings values (434, 310856, '2005-07-21', 5, 1.0); +insert into ratings values (434, 311567, '2005-02-10', 2, 0.5); +insert into ratings values (434, 311567, '2005-02-10', 3, 0.4); +insert into ratings values (434, 311567, '2005-02-10', 4, 0.1); +insert into ratings values (434, 86708, '2005-02-14', 3, 0.3); +insert into ratings values (434, 86708, '2005-02-14', 4, 0.7); +insert into ratings values (434, 358062, '2005-03-22', 3, 0.1); +insert into ratings values (434, 358062, '2005-03-22', 4, 0.4); +insert into ratings values (434, 358062, '2005-03-22', 5, 0.5); +insert into ratings values (434, 269327, '2005-02-26', 1, 0.3); +insert into ratings values (434, 269327, '2005-02-26', 2, 0.6); +insert into ratings values (434, 269327, '2005-02-26', 3, 0.1); +insert into ratings values (435, 173865, '2004-11-16', 3, 1.0); +insert into ratings values (435, 79160, '2004-02-03', 3, 1.0); +insert into ratings values (435, 167657, '2003-03-04', 3, 1.0); +insert into ratings values (435, 267690, '2004-05-29', 3, 1.0); +insert into ratings values (435, 277843, '2005-05-20', 1, 0.2); +insert into ratings values (435, 277843, '2005-05-20', 2, 0.8); +insert into ratings values (436, 395744, '2005-09-09', 4, 0.7); +insert into ratings values (436, 395744, '2005-09-09', 5, 0.3); +insert into ratings values (436, 473644, '2005-10-18', 5, 1.0); +insert into ratings values (436, 283334, '2005-11-16', 2, 0.2); +insert into ratings values (436, 283334, '2005-11-16', 3, 0.4); +insert into ratings values (436, 283334, '2005-11-16', 4, 0.4); +insert into ratings values (436, 309657, '2005-07-26', 3, 1.0); +insert into ratings values (436, 76176, '2005-05-24', 3, 1.0); +insert into ratings values (437, 279376, '2005-04-05', 3, 1.0); +insert into ratings values (437, 259713, '2005-05-10', 1, 0.5); +insert into ratings values (437, 259713, '2005-05-10', 2, 0.5); +insert into ratings values (437, 384378, '2005-06-15', 4, 1.0); +insert into ratings values (437, 300074, '2005-07-09', 1, 1.0); +insert into ratings values (437, 303948, '2005-03-17', 2, 0.4); +insert into ratings values (437, 303948, '2005-03-17', 3, 0.6); +insert into ratings values (438, 383059, '2005-02-09', 3, 0.1); +insert into ratings values (438, 383059, '2005-02-09', 4, 0.5); +insert into ratings values (438, 383059, '2005-02-09', 5, 0.4); +insert into ratings values (438, 326587, '2000-12-18', 1, 1.0); +insert into ratings values (438, 307910, '2002-11-04', 5, 1.0); +insert into ratings values (438, 327122, '2005-01-03', 3, 0.3); +insert into ratings values (438, 327122, '2005-01-03', 4, 0.4); +insert into ratings values (438, 327122, '2005-01-03', 5, 0.3); +insert into ratings values (438, 35772, '2005-04-24', 4, 1.0); +insert into ratings values (439, 14690, '2002-09-26', 3, 0.6); +insert into ratings values (439, 14690, '2002-09-26', 4, 0.4); +insert into ratings values (439, 247794, '2002-05-10', 2, 0.5); +insert into ratings values (439, 247794, '2002-05-10', 3, 0.4); +insert into ratings values (439, 247794, '2002-05-10', 4, 0.1); +insert into ratings values (439, 316130, '2004-09-10', 2, 0.4); +insert into ratings values (439, 316130, '2004-09-10', 3, 0.5); +insert into ratings values (439, 316130, '2004-09-10', 4, 0.1); +insert into ratings values (439, 471414, '2004-01-06', 2, 0.2); +insert into ratings values (439, 471414, '2004-01-06', 3, 0.4); +insert into ratings values (439, 471414, '2004-01-06', 4, 0.4); +insert into ratings values (439, 66109, '2004-04-19', 1, 0.5); +insert into ratings values (439, 66109, '2004-04-19', 2, 0.4); +insert into ratings values (439, 66109, '2004-04-19', 3, 0.1); +insert into ratings values (440, 275869, '2005-07-19', 3, 0.1); +insert into ratings values (440, 275869, '2005-07-19', 4, 0.4); +insert into ratings values (440, 275869, '2005-07-19', 5, 0.5); +insert into ratings values (440, 386988, '2005-05-07', 1, 0.5); +insert into ratings values (440, 386988, '2005-05-07', 2, 0.5); +insert into ratings values (440, 358544, '2004-09-01', 1, 0.6); +insert into ratings values (440, 358544, '2004-09-01', 2, 0.4); +insert into ratings values (440, 437778, '2003-11-28', 2, 1.0); +insert into ratings values (440, 336411, '2004-07-08', 1, 0.2); +insert into ratings values (440, 336411, '2004-07-08', 2, 0.5); +insert into ratings values (440, 336411, '2004-07-08', 3, 0.3); +insert into ratings values (441, 264160, '2005-08-28', 3, 0.3); +insert into ratings values (441, 264160, '2005-08-28', 4, 0.7); +insert into ratings values (441, 200255, '2005-07-23', 3, 0.2); +insert into ratings values (441, 200255, '2005-07-23', 4, 0.4); +insert into ratings values (441, 200255, '2005-07-23', 5, 0.4); +insert into ratings values (441, 303948, '2004-12-27', 3, 0.4); +insert into ratings values (441, 303948, '2004-12-27', 4, 0.5); +insert into ratings values (441, 303948, '2004-12-27', 5, 0.1); +insert into ratings values (441, 4576, '2005-05-19', 3, 0.3); +insert into ratings values (441, 4576, '2005-05-19', 4, 0.7); +insert into ratings values (441, 208113, '2005-04-29', 4, 1.0); +insert into ratings values (442, 69867, '2001-06-14', 3, 0.1); +insert into ratings values (442, 69867, '2001-06-14', 4, 0.6); +insert into ratings values (442, 69867, '2001-06-14', 5, 0.3); +insert into ratings values (442, 306466, '2001-03-15', 3, 0.1); +insert into ratings values (442, 306466, '2001-03-15', 4, 0.4); +insert into ratings values (442, 306466, '2001-03-15', 5, 0.5); +insert into ratings values (442, 477388, '2005-09-28', 3, 0.7); +insert into ratings values (442, 477388, '2005-09-28', 4, 0.3); +insert into ratings values (442, 276813, '2000-12-31', 4, 1.0); +insert into ratings values (442, 30878, '2004-03-06', 5, 1.0); +insert into ratings values (443, 364518, '2004-04-06', 3, 0.7); +insert into ratings values (443, 364518, '2004-04-06', 4, 0.3); +insert into ratings values (443, 306466, '2004-06-07', 2, 0.3); +insert into ratings values (443, 306466, '2004-06-07', 3, 0.6); +insert into ratings values (443, 306466, '2004-06-07', 4, 0.1); +insert into ratings values (443, 101470, '2005-07-12', 3, 0.5); +insert into ratings values (443, 101470, '2005-07-12', 4, 0.5); +insert into ratings values (443, 487119, '2005-02-20', 4, 0.6); +insert into ratings values (443, 487119, '2005-02-20', 5, 0.4); +insert into ratings values (443, 77471, '2003-08-29', 3, 0.1); +insert into ratings values (443, 77471, '2003-08-29', 4, 0.3); +insert into ratings values (443, 77471, '2003-08-29', 5, 0.6); +insert into ratings values (444, 240612, '2005-06-29', 4, 0.7); +insert into ratings values (444, 240612, '2005-06-29', 5, 0.3); +insert into ratings values (444, 192898, '2004-12-19', 2, 0.3); +insert into ratings values (444, 192898, '2004-12-19', 3, 0.6); +insert into ratings values (444, 192898, '2004-12-19', 4, 0.1); +insert into ratings values (444, 276182, '2004-10-13', 3, 0.8); +insert into ratings values (444, 276182, '2004-10-13', 4, 0.2); +insert into ratings values (444, 299307, '2005-10-23', 3, 1.0); +insert into ratings values (444, 61864, '2005-11-07', 1, 0.6); +insert into ratings values (444, 61864, '2005-11-07', 2, 0.4); +insert into ratings values (445, 306466, '2001-04-27', 2, 0.5); +insert into ratings values (445, 306466, '2001-04-27', 3, 0.5); +insert into ratings values (445, 41412, '2001-05-22', 1, 0.4); +insert into ratings values (445, 41412, '2001-05-22', 2, 0.6); +insert into ratings values (445, 181323, '2002-05-08', 3, 0.1); +insert into ratings values (445, 181323, '2002-05-08', 4, 0.3); +insert into ratings values (445, 181323, '2002-05-08', 5, 0.6); +insert into ratings values (445, 163175, '2005-02-16', 2, 1.0); +insert into ratings values (445, 282391, '2005-03-29', 3, 0.4); +insert into ratings values (445, 282391, '2005-03-29', 4, 0.6); +insert into ratings values (446, 306466, '2002-12-17', 1, 0.3); +insert into ratings values (446, 306466, '2002-12-17', 2, 0.7); +insert into ratings values (446, 194825, '2002-12-24', 2, 0.4); +insert into ratings values (446, 194825, '2002-12-24', 3, 0.6); +insert into ratings values (446, 361407, '2002-11-21', 4, 1.0); +insert into ratings values (446, 301577, '2004-02-26', 1, 0.1); +insert into ratings values (446, 301577, '2004-02-26', 2, 0.6); +insert into ratings values (446, 301577, '2004-02-26', 3, 0.3); +insert into ratings values (446, 127010, '2004-10-07', 1, 1.0); +insert into ratings values (447, 217082, '2005-09-07', 3, 1.0); +insert into ratings values (447, 196846, '2005-01-19', 3, 0.7); +insert into ratings values (447, 196846, '2005-01-19', 4, 0.3); +insert into ratings values (447, 319113, '2005-02-17', 5, 1.0); +insert into ratings values (447, 101068, '2005-11-09', 4, 0.4); +insert into ratings values (447, 101068, '2005-11-09', 5, 0.6); +insert into ratings values (447, 184705, '2005-01-19', 3, 1.0); +insert into ratings values (448, 120909, '2004-10-04', 4, 1.0); +insert into ratings values (448, 335572, '2004-11-30', 4, 0.4); +insert into ratings values (448, 335572, '2004-11-30', 5, 0.6); +insert into ratings values (448, 318032, '2004-04-07', 3, 1.0); +insert into ratings values (448, 162348, '2003-11-18', 4, 0.7); +insert into ratings values (448, 162348, '2003-11-18', 5, 0.3); +insert into ratings values (448, 301456, '2005-10-23', 4, 0.6); +insert into ratings values (448, 301456, '2005-10-23', 5, 0.4); +insert into ratings values (449, 269853, '2005-06-21', 1, 0.7); +insert into ratings values (449, 269853, '2005-06-21', 2, 0.3); +insert into ratings values (449, 173344, '2005-05-19', 3, 0.3); +insert into ratings values (449, 173344, '2005-05-19', 4, 0.6); +insert into ratings values (449, 173344, '2005-05-19', 5, 0.1); +insert into ratings values (449, 281833, '2005-10-27', 1, 1.0); +insert into ratings values (449, 474592, '2005-05-10', 3, 0.3); +insert into ratings values (449, 474592, '2005-05-10', 4, 0.1); +insert into ratings values (449, 474592, '2005-05-10', 5, 0.6); +insert into ratings values (449, 256315, '2005-10-19', 2, 0.6); +insert into ratings values (449, 256315, '2005-10-19', 3, 0.4); +insert into ratings values (450, 284096, '2005-08-11', 3, 0.2); +insert into ratings values (450, 284096, '2005-08-11', 4, 0.6); +insert into ratings values (450, 284096, '2005-08-11', 5, 0.2); +insert into ratings values (450, 413637, '2004-06-04', 3, 0.1); +insert into ratings values (450, 413637, '2004-06-04', 4, 0.6); +insert into ratings values (450, 413637, '2004-06-04', 5, 0.3); +insert into ratings values (450, 403261, '2005-05-03', 3, 0.2); +insert into ratings values (450, 403261, '2005-05-03', 4, 0.3); +insert into ratings values (450, 403261, '2005-05-03', 5, 0.5); +insert into ratings values (450, 455430, '2003-08-19', 2, 0.2); +insert into ratings values (450, 455430, '2003-08-19', 3, 0.5); +insert into ratings values (450, 455430, '2003-08-19', 4, 0.3); +insert into ratings values (450, 155342, '2003-03-30', 1, 0.5); +insert into ratings values (450, 155342, '2003-03-30', 2, 0.4); +insert into ratings values (450, 155342, '2003-03-30', 3, 0.1); +insert into ratings values (451, 481668, '2005-06-28', 3, 0.5); +insert into ratings values (451, 481668, '2005-06-28', 4, 0.5); +insert into ratings values (451, 264160, '2005-07-06', 3, 0.4); +insert into ratings values (451, 264160, '2005-07-06', 4, 0.2); +insert into ratings values (451, 264160, '2005-07-06', 5, 0.4); +insert into ratings values (451, 366844, '2005-11-27', 5, 1.0); +insert into ratings values (451, 26648, '2005-07-01', 3, 0.2); +insert into ratings values (451, 26648, '2005-07-01', 4, 0.2); +insert into ratings values (451, 26648, '2005-07-01', 5, 0.6); +insert into ratings values (451, 86365, '2005-06-28', 3, 0.3); +insert into ratings values (451, 86365, '2005-06-28', 4, 0.6); +insert into ratings values (451, 86365, '2005-06-28', 5, 0.1); +insert into ratings values (452, 180151, '2004-05-10', 3, 0.5); +insert into ratings values (452, 180151, '2004-05-10', 4, 0.5); +insert into ratings values (452, 6835, '2004-03-22', 3, 1.0); +insert into ratings values (452, 343920, '2004-08-26', 4, 1.0); +insert into ratings values (452, 331157, '2004-10-04', 2, 0.4); +insert into ratings values (452, 331157, '2004-10-04', 3, 0.5); +insert into ratings values (452, 331157, '2004-10-04', 4, 0.1); +insert into ratings values (452, 113439, '2004-07-13', 3, 0.2); +insert into ratings values (452, 113439, '2004-07-13', 4, 0.2); +insert into ratings values (452, 113439, '2004-07-13', 5, 0.6); +insert into ratings values (453, 68365, '2005-04-13', 5, 1.0); +insert into ratings values (453, 252468, '2005-05-21', 3, 0.2); +insert into ratings values (453, 252468, '2005-05-21', 4, 0.4); +insert into ratings values (453, 252468, '2005-05-21', 5, 0.4); +insert into ratings values (453, 115929, '2005-07-05', 5, 1.0); +insert into ratings values (453, 285631, '2004-08-19', 3, 0.5); +insert into ratings values (453, 285631, '2004-08-19', 4, 0.1); +insert into ratings values (453, 285631, '2004-08-19', 5, 0.4); +insert into ratings values (453, 340105, '2004-09-13', 2, 1.0); +insert into ratings values (454, 139297, '2005-05-03', 3, 0.2); +insert into ratings values (454, 139297, '2005-05-03', 4, 0.5); +insert into ratings values (454, 139297, '2005-05-03', 5, 0.3); +insert into ratings values (454, 160977, '2005-11-15', 5, 1.0); +insert into ratings values (454, 461110, '2004-05-17', 1, 0.7); +insert into ratings values (454, 461110, '2004-05-17', 2, 0.3); +insert into ratings values (454, 70976, '2005-05-23', 3, 1.0); +insert into ratings values (454, 499956, '2005-10-27', 3, 0.1); +insert into ratings values (454, 499956, '2005-10-27', 4, 0.6); +insert into ratings values (454, 499956, '2005-10-27', 5, 0.3); +insert into ratings values (455, 497196, '2003-12-25', 4, 1.0); +insert into ratings values (455, 499914, '2005-01-19', 5, 1.0); +insert into ratings values (455, 166100, '2004-07-27', 1, 0.4); +insert into ratings values (455, 166100, '2004-07-27', 2, 0.6); +insert into ratings values (455, 200255, '2005-12-17', 3, 1.0); +insert into ratings values (455, 303948, '2004-10-31', 1, 0.5); +insert into ratings values (455, 303948, '2004-10-31', 2, 0.5); +insert into ratings values (456, 160977, '2005-01-08', 5, 1.0); +insert into ratings values (456, 184311, '2000-02-17', 2, 0.5); +insert into ratings values (456, 184311, '2000-02-17', 3, 0.4); +insert into ratings values (456, 184311, '2000-02-17', 4, 0.1); +insert into ratings values (456, 76196, '2001-12-11', 1, 0.5); +insert into ratings values (456, 76196, '2001-12-11', 2, 0.1); +insert into ratings values (456, 76196, '2001-12-11', 3, 0.4); +insert into ratings values (456, 208386, '2004-08-29', 4, 0.5); +insert into ratings values (456, 208386, '2004-08-29', 5, 0.5); +insert into ratings values (456, 15814, '2004-10-11', 2, 0.4); +insert into ratings values (456, 15814, '2004-10-11', 3, 0.6); +insert into ratings values (457, 306466, '2004-09-16', 3, 0.4); +insert into ratings values (457, 306466, '2004-09-16', 4, 0.6); +insert into ratings values (457, 276813, '2004-09-10', 2, 0.6); +insert into ratings values (457, 276813, '2004-09-10', 3, 0.4); +insert into ratings values (457, 393953, '2004-08-11', 4, 0.5); +insert into ratings values (457, 393953, '2004-08-11', 5, 0.5); +insert into ratings values (457, 403350, '2005-07-18', 3, 0.4); +insert into ratings values (457, 403350, '2005-07-18', 4, 0.4); +insert into ratings values (457, 403350, '2005-07-18', 5, 0.2); +insert into ratings values (457, 120539, '2005-07-19', 1, 0.2); +insert into ratings values (457, 120539, '2005-07-19', 2, 0.6); +insert into ratings values (457, 120539, '2005-07-19', 3, 0.2); +insert into ratings values (458, 315988, '2004-01-06', 4, 1.0); +insert into ratings values (458, 478418, '2004-01-17', 1, 0.6); +insert into ratings values (458, 478418, '2004-01-17', 2, 0.3); +insert into ratings values (458, 478418, '2004-01-17', 3, 0.1); +insert into ratings values (458, 337541, '2003-02-15', 4, 0.2); +insert into ratings values (458, 337541, '2003-02-15', 5, 0.8); +insert into ratings values (458, 330292, '2004-01-08', 5, 1.0); +insert into ratings values (458, 209926, '2003-11-10', 5, 1.0); +insert into ratings values (459, 25382, '2004-03-31', 3, 1.0); +insert into ratings values (459, 86767, '2004-04-20', 3, 0.2); +insert into ratings values (459, 86767, '2004-04-20', 4, 0.6); +insert into ratings values (459, 86767, '2004-04-20', 5, 0.2); +insert into ratings values (459, 109094, '2004-05-03', 4, 0.3); +insert into ratings values (459, 109094, '2004-05-03', 5, 0.7); +insert into ratings values (459, 282391, '2004-10-26', 3, 0.4); +insert into ratings values (459, 282391, '2004-10-26', 4, 0.2); +insert into ratings values (459, 282391, '2004-10-26', 5, 0.4); +insert into ratings values (459, 176006, '2005-01-19', 2, 0.1); +insert into ratings values (459, 176006, '2005-01-19', 3, 0.6); +insert into ratings values (459, 176006, '2005-01-19', 4, 0.3); +insert into ratings values (460, 52887, '2003-12-19', 1, 0.6); +insert into ratings values (460, 52887, '2003-12-19', 2, 0.3); +insert into ratings values (460, 52887, '2003-12-19', 3, 0.1); +insert into ratings values (460, 212536, '2004-10-26', 1, 1.0); +insert into ratings values (460, 310049, '2003-10-22', 3, 0.2); +insert into ratings values (460, 310049, '2003-10-22', 4, 0.3); +insert into ratings values (460, 310049, '2003-10-22', 5, 0.5); +insert into ratings values (460, 53163, '2004-11-16', 1, 0.5); +insert into ratings values (460, 53163, '2004-11-16', 2, 0.5); +insert into ratings values (460, 183476, '2003-06-18', 1, 1.0); +insert into ratings values (461, 229944, '2005-01-30', 3, 0.2); +insert into ratings values (461, 229944, '2005-01-30', 4, 0.2); +insert into ratings values (461, 229944, '2005-01-30', 5, 0.6); +insert into ratings values (461, 497196, '2003-04-13', 1, 0.3); +insert into ratings values (461, 497196, '2003-04-13', 2, 0.6); +insert into ratings values (461, 497196, '2003-04-13', 3, 0.1); +insert into ratings values (461, 76196, '2002-02-02', 2, 0.5); +insert into ratings values (461, 76196, '2002-02-02', 3, 0.4); +insert into ratings values (461, 76196, '2002-02-02', 4, 0.1); +insert into ratings values (461, 389165, '2004-10-14', 3, 1.0); +insert into ratings values (461, 113677, '2004-11-09', 4, 1.0); +insert into ratings values (462, 403531, '2005-04-03', 5, 1.0); +insert into ratings values (462, 360830, '2005-07-08', 3, 0.5); +insert into ratings values (462, 360830, '2005-07-08', 4, 0.4); +insert into ratings values (462, 360830, '2005-07-08', 5, 0.1); +insert into ratings values (462, 231489, '2005-01-23', 5, 1.0); +insert into ratings values (462, 303948, '2005-03-29', 3, 0.2); +insert into ratings values (462, 303948, '2005-03-29', 4, 0.8); +insert into ratings values (462, 125296, '2005-07-21', 4, 1.0); +insert into ratings values (463, 39956, '2003-11-22', 3, 0.3); +insert into ratings values (463, 39956, '2003-11-22', 4, 0.1); +insert into ratings values (463, 39956, '2003-11-22', 5, 0.6); +insert into ratings values (463, 139297, '2004-08-23', 3, 0.6); +insert into ratings values (463, 139297, '2004-08-23', 4, 0.4); +insert into ratings values (463, 198560, '2005-05-06', 4, 0.4); +insert into ratings values (463, 198560, '2005-05-06', 5, 0.6); +insert into ratings values (463, 205345, '2005-09-07', 4, 0.5); +insert into ratings values (463, 205345, '2005-09-07', 5, 0.5); +insert into ratings values (463, 247794, '2002-05-10', 2, 1.0); +insert into ratings values (464, 461259, '2004-08-25', 1, 0.7); +insert into ratings values (464, 461259, '2004-08-25', 2, 0.3); +insert into ratings values (464, 343239, '2004-02-24', 3, 1.0); +insert into ratings values (464, 266196, '2002-07-30', 3, 0.5); +insert into ratings values (464, 266196, '2002-07-30', 4, 0.5); +insert into ratings values (464, 227240, '2004-10-31', 3, 0.3); +insert into ratings values (464, 227240, '2004-10-31', 4, 0.2); +insert into ratings values (464, 227240, '2004-10-31', 5, 0.5); +insert into ratings values (464, 65197, '2000-03-21', 1, 1.0); +insert into ratings values (465, 356731, '2005-08-03', 3, 1.0); +insert into ratings values (465, 187457, '2005-02-15', 4, 0.5); +insert into ratings values (465, 187457, '2005-02-15', 5, 0.5); +insert into ratings values (465, 92592, '2005-04-30', 2, 0.4); +insert into ratings values (465, 92592, '2005-04-30', 3, 0.4); +insert into ratings values (465, 92592, '2005-04-30', 4, 0.2); +insert into ratings values (465, 155342, '2003-03-24', 1, 0.8); +insert into ratings values (465, 155342, '2003-03-24', 2, 0.2); +insert into ratings values (465, 274313, '2003-05-10', 2, 0.2); +insert into ratings values (465, 274313, '2003-05-10', 3, 0.8); +insert into ratings values (466, 339404, '2005-10-29', 3, 1.0); +insert into ratings values (466, 396576, '2005-12-04', 2, 0.3); +insert into ratings values (466, 396576, '2005-12-04', 3, 0.7); +insert into ratings values (466, 303948, '2005-11-22', 3, 0.2); +insert into ratings values (466, 303948, '2005-11-22', 4, 0.6); +insert into ratings values (466, 303948, '2005-11-22', 5, 0.2); +insert into ratings values (466, 168108, '2005-09-07', 1, 0.6); +insert into ratings values (466, 168108, '2005-09-07', 2, 0.4); +insert into ratings values (466, 314110, '2005-11-11', 4, 0.2); +insert into ratings values (466, 314110, '2005-11-11', 5, 0.8); +insert into ratings values (467, 247794, '2004-05-26', 2, 0.5); +insert into ratings values (467, 247794, '2004-05-26', 3, 0.4); +insert into ratings values (467, 247794, '2004-05-26', 4, 0.1); +insert into ratings values (467, 497196, '2004-03-04', 2, 0.1); +insert into ratings values (467, 497196, '2004-03-04', 3, 0.6); +insert into ratings values (467, 497196, '2004-03-04', 4, 0.3); +insert into ratings values (467, 433803, '2005-04-07', 4, 0.7); +insert into ratings values (467, 433803, '2005-04-07', 5, 0.3); +insert into ratings values (467, 76196, '2001-12-14', 2, 0.5); +insert into ratings values (467, 76196, '2001-12-14', 3, 0.5); +insert into ratings values (467, 92056, '2005-09-14', 1, 0.5); +insert into ratings values (467, 92056, '2005-09-14', 2, 0.4); +insert into ratings values (467, 92056, '2005-09-14', 3, 0.1); +insert into ratings values (468, 306466, '2004-07-01', 2, 0.3); +insert into ratings values (468, 306466, '2004-07-01', 3, 0.7); +insert into ratings values (468, 276813, '2004-04-28', 3, 1.0); +insert into ratings values (468, 132390, '2004-04-13', 4, 0.6); +insert into ratings values (468, 132390, '2004-04-13', 5, 0.4); +insert into ratings values (468, 290621, '2004-09-10', 4, 0.8); +insert into ratings values (468, 290621, '2004-09-10', 5, 0.2); +insert into ratings values (468, 393953, '2004-07-03', 3, 0.2); +insert into ratings values (468, 393953, '2004-07-03', 4, 0.2); +insert into ratings values (468, 393953, '2004-07-03', 5, 0.6); +insert into ratings values (469, 244549, '2005-04-20', 3, 1.0); +insert into ratings values (469, 33609, '2005-01-11', 1, 0.4); +insert into ratings values (469, 33609, '2005-01-11', 2, 0.4); +insert into ratings values (469, 33609, '2005-01-11', 3, 0.2); +insert into ratings values (469, 118914, '2005-10-26', 1, 1.0); +insert into ratings values (469, 360019, '2004-03-15', 3, 0.4); +insert into ratings values (469, 360019, '2004-03-15', 4, 0.4); +insert into ratings values (469, 360019, '2004-03-15', 5, 0.2); +insert into ratings values (469, 113366, '2004-07-16', 4, 1.0); +insert into ratings values (470, 84527, '2002-12-04', 2, 1.0); +insert into ratings values (470, 209200, '2005-07-26', 2, 0.7); +insert into ratings values (470, 209200, '2005-07-26', 3, 0.3); +insert into ratings values (470, 318939, '2003-01-12', 2, 1.0); +insert into ratings values (470, 5474, '2003-10-06', 1, 0.1); +insert into ratings values (470, 5474, '2003-10-06', 2, 0.4); +insert into ratings values (470, 5474, '2003-10-06', 3, 0.5); +insert into ratings values (470, 58374, '2004-07-21', 2, 1.0); +insert into ratings values (471, 141932, '2005-03-14', 4, 0.2); +insert into ratings values (471, 141932, '2005-03-14', 5, 0.8); +insert into ratings values (471, 105942, '2005-02-12', 3, 0.2); +insert into ratings values (471, 105942, '2005-02-12', 4, 0.6); +insert into ratings values (471, 105942, '2005-02-12', 5, 0.2); +insert into ratings values (471, 163546, '2005-03-11', 3, 0.3); +insert into ratings values (471, 163546, '2005-03-11', 4, 0.2); +insert into ratings values (471, 163546, '2005-03-11', 5, 0.5); +insert into ratings values (471, 50409, '2005-04-21', 5, 1.0); +insert into ratings values (471, 769, '2005-07-01', 4, 0.4); +insert into ratings values (471, 769, '2005-07-01', 5, 0.6); +insert into ratings values (472, 46679, '2004-07-11', 2, 0.3); +insert into ratings values (472, 46679, '2004-07-11', 3, 0.4); +insert into ratings values (472, 46679, '2004-07-11', 4, 0.3); +insert into ratings values (472, 31508, '2005-09-02', 1, 0.1); +insert into ratings values (472, 31508, '2005-09-02', 2, 0.6); +insert into ratings values (472, 31508, '2005-09-02', 3, 0.3); +insert into ratings values (472, 44334, '2003-02-17', 3, 1.0); +insert into ratings values (472, 312110, '2005-09-26', 2, 0.4); +insert into ratings values (472, 312110, '2005-09-26', 3, 0.6); +insert into ratings values (472, 368015, '2002-11-05', 1, 0.6); +insert into ratings values (472, 368015, '2002-11-05', 2, 0.2); +insert into ratings values (472, 368015, '2002-11-05', 3, 0.2); +insert into ratings values (473, 117277, '2005-07-12', 4, 1.0); +insert into ratings values (473, 66568, '2004-03-05', 3, 0.1); +insert into ratings values (473, 66568, '2004-03-05', 4, 0.4); +insert into ratings values (473, 66568, '2004-03-05', 5, 0.5); +insert into ratings values (473, 41412, '2002-04-18', 5, 1.0); +insert into ratings values (473, 175214, '2005-07-21', 3, 0.2); +insert into ratings values (473, 175214, '2005-07-21', 4, 0.6); +insert into ratings values (473, 175214, '2005-07-21', 5, 0.2); +insert into ratings values (473, 56069, '2002-11-01', 3, 0.4); +insert into ratings values (473, 56069, '2002-11-01', 4, 0.6); +insert into ratings values (474, 399890, '2004-03-22', 4, 1.0); +insert into ratings values (474, 464095, '2004-06-29', 4, 0.7); +insert into ratings values (474, 464095, '2004-06-29', 5, 0.3); +insert into ratings values (474, 329934, '2004-11-09', 2, 1.0); +insert into ratings values (474, 163175, '2005-02-28', 4, 1.0); +insert into ratings values (474, 14690, '2002-10-22', 3, 0.7); +insert into ratings values (474, 14690, '2002-10-22', 4, 0.3); +insert into ratings values (475, 178131, '2004-12-26', 3, 0.4); +insert into ratings values (475, 178131, '2004-12-26', 4, 0.5); +insert into ratings values (475, 178131, '2004-12-26', 5, 0.1); +insert into ratings values (475, 70976, '2004-02-17', 1, 0.4); +insert into ratings values (475, 70976, '2004-02-17', 2, 0.5); +insert into ratings values (475, 70976, '2004-02-17', 3, 0.1); +insert into ratings values (475, 255357, '2003-12-04', 1, 0.3); +insert into ratings values (475, 255357, '2003-12-04', 2, 0.7); +insert into ratings values (475, 453979, '2004-08-13', 3, 1.0); +insert into ratings values (475, 319119, '2003-01-02', 2, 0.4); +insert into ratings values (475, 319119, '2003-01-02', 3, 0.4); +insert into ratings values (475, 319119, '2003-01-02', 4, 0.2); +insert into ratings values (476, 488477, '2005-05-10', 2, 0.1); +insert into ratings values (476, 488477, '2005-05-10', 3, 0.6); +insert into ratings values (476, 488477, '2005-05-10', 4, 0.3); +insert into ratings values (476, 346189, '2004-06-04', 4, 0.6); +insert into ratings values (476, 346189, '2004-06-04', 5, 0.4); +insert into ratings values (476, 209200, '2005-05-16', 3, 0.1); +insert into ratings values (476, 209200, '2005-05-16', 4, 0.4); +insert into ratings values (476, 209200, '2005-05-16', 5, 0.5); +insert into ratings values (476, 308348, '2005-11-17', 4, 0.6); +insert into ratings values (476, 308348, '2005-11-17', 5, 0.4); +insert into ratings values (476, 2363, '2005-03-22', 5, 1.0); +insert into ratings values (477, 282391, '2004-10-26', 3, 0.1); +insert into ratings values (477, 282391, '2004-10-26', 4, 0.5); +insert into ratings values (477, 282391, '2004-10-26', 5, 0.4); +insert into ratings values (477, 146851, '2005-02-17', 4, 1.0); +insert into ratings values (477, 471426, '2005-12-19', 3, 1.0); +insert into ratings values (477, 461110, '2005-07-17', 3, 0.2); +insert into ratings values (477, 461110, '2005-07-17', 4, 0.3); +insert into ratings values (477, 461110, '2005-07-17', 5, 0.5); +insert into ratings values (477, 264160, '2005-08-28', 2, 0.3); +insert into ratings values (477, 264160, '2005-08-28', 3, 0.4); +insert into ratings values (477, 264160, '2005-08-28', 4, 0.3); +insert into ratings values (478, 247794, '2004-04-29', 1, 0.3); +insert into ratings values (478, 247794, '2004-04-29', 2, 0.7); +insert into ratings values (478, 76196, '2004-04-29', 4, 0.6); +insert into ratings values (478, 76196, '2004-04-29', 5, 0.4); +insert into ratings values (478, 119287, '2003-10-10', 2, 0.2); +insert into ratings values (478, 119287, '2003-10-10', 3, 0.4); +insert into ratings values (478, 119287, '2003-10-10', 4, 0.4); +insert into ratings values (478, 392424, '2004-04-29', 3, 0.6); +insert into ratings values (478, 392424, '2004-04-29', 4, 0.4); +insert into ratings values (478, 303948, '2005-06-22', 4, 1.0); +insert into ratings values (479, 146851, '2004-07-25', 4, 0.6); +insert into ratings values (479, 146851, '2004-07-25', 5, 0.4); +insert into ratings values (479, 282391, '2004-10-26', 4, 0.5); +insert into ratings values (479, 282391, '2004-10-26', 5, 0.5); +insert into ratings values (479, 70976, '2004-09-25', 3, 1.0); +insert into ratings values (479, 318939, '2004-07-25', 3, 0.2); +insert into ratings values (479, 318939, '2004-07-25', 4, 0.4); +insert into ratings values (479, 318939, '2004-07-25', 5, 0.4); +insert into ratings values (479, 414791, '2005-12-04', 3, 0.2); +insert into ratings values (479, 414791, '2005-12-04', 4, 0.2); +insert into ratings values (479, 414791, '2005-12-04', 5, 0.6); +insert into ratings values (480, 375319, '2004-09-09', 2, 0.3); +insert into ratings values (480, 375319, '2004-09-09', 3, 0.6); +insert into ratings values (480, 375319, '2004-09-09', 4, 0.1); +insert into ratings values (480, 145640, '2004-07-15', 2, 0.2); +insert into ratings values (480, 145640, '2004-07-15', 3, 0.6); +insert into ratings values (480, 145640, '2004-07-15', 4, 0.2); +insert into ratings values (480, 355894, '2003-07-08', 1, 0.7); +insert into ratings values (480, 355894, '2003-07-08', 2, 0.3); +insert into ratings values (480, 79355, '2005-07-26', 1, 0.8); +insert into ratings values (480, 79355, '2005-07-26', 2, 0.2); +insert into ratings values (480, 155342, '2005-01-10', 1, 0.2); +insert into ratings values (480, 155342, '2005-01-10', 2, 0.8); +insert into ratings values (481, 101035, '2003-12-30', 1, 0.4); +insert into ratings values (481, 101035, '2003-12-30', 2, 0.4); +insert into ratings values (481, 101035, '2003-12-30', 3, 0.2); +insert into ratings values (481, 491331, '2005-09-05', 1, 0.1); +insert into ratings values (481, 491331, '2005-09-05', 2, 0.5); +insert into ratings values (481, 491331, '2005-09-05', 3, 0.4); +insert into ratings values (481, 377803, '2004-12-29', 4, 1.0); +insert into ratings values (481, 155342, '2003-03-30', 2, 0.1); +insert into ratings values (481, 155342, '2003-03-30', 3, 0.4); +insert into ratings values (481, 155342, '2003-03-30', 4, 0.5); +insert into ratings values (481, 489352, '2005-06-29', 1, 0.5); +insert into ratings values (481, 489352, '2005-06-29', 2, 0.5); +insert into ratings values (482, 306466, '2003-06-13', 4, 1.0); +insert into ratings values (482, 373243, '2004-12-05', 3, 1.0); +insert into ratings values (482, 66568, '2004-03-03', 4, 1.0); +insert into ratings values (482, 307939, '2004-01-27', 3, 1.0); +insert into ratings values (482, 290621, '2003-09-10', 4, 0.5); +insert into ratings values (482, 290621, '2003-09-10', 5, 0.5); +insert into ratings values (483, 185150, '2005-07-05', 2, 0.2); +insert into ratings values (483, 185150, '2005-07-05', 3, 0.6); +insert into ratings values (483, 185150, '2005-07-05', 4, 0.2); +insert into ratings values (483, 364518, '2002-09-24', 1, 0.5); +insert into ratings values (483, 364518, '2002-09-24', 2, 0.5); +insert into ratings values (483, 53679, '2005-07-08', 3, 1.0); +insert into ratings values (483, 254711, '2005-07-12', 1, 0.8); +insert into ratings values (483, 254711, '2005-07-12', 2, 0.2); +insert into ratings values (483, 175214, '2005-07-15', 1, 0.2); +insert into ratings values (483, 175214, '2005-07-15', 2, 0.5); +insert into ratings values (483, 175214, '2005-07-15', 3, 0.3); +insert into ratings values (484, 300074, '2005-07-09', 1, 1.0); +insert into ratings values (484, 300417, '2005-06-24', 3, 0.2); +insert into ratings values (484, 300417, '2005-06-24', 4, 0.4); +insert into ratings values (484, 300417, '2005-06-24', 5, 0.4); +insert into ratings values (484, 196200, '2005-05-26', 5, 1.0); +insert into ratings values (484, 117939, '2005-07-25', 3, 1.0); +insert into ratings values (484, 133396, '2005-07-12', 3, 0.5); +insert into ratings values (484, 133396, '2005-07-12', 4, 0.1); +insert into ratings values (484, 133396, '2005-07-12', 5, 0.4); +insert into ratings values (485, 464095, '2004-03-04', 4, 0.8); +insert into ratings values (485, 464095, '2004-03-04', 5, 0.2); +insert into ratings values (485, 247794, '2004-05-03', 2, 0.3); +insert into ratings values (485, 247794, '2004-05-03', 3, 0.7); +insert into ratings values (485, 115498, '2003-10-22', 3, 0.6); +insert into ratings values (485, 115498, '2003-10-22', 4, 0.4); +insert into ratings values (485, 76196, '2004-05-03', 2, 0.4); +insert into ratings values (485, 76196, '2004-05-03', 3, 0.6); +insert into ratings values (485, 172474, '2004-05-03', 3, 0.2); +insert into ratings values (485, 172474, '2004-05-03', 4, 0.8); +insert into ratings values (486, 139297, '2004-06-17', 2, 0.3); +insert into ratings values (486, 139297, '2004-06-17', 3, 0.4); +insert into ratings values (486, 139297, '2004-06-17', 4, 0.3); +insert into ratings values (486, 93489, '2004-12-17', 4, 1.0); +insert into ratings values (486, 247794, '2003-03-22', 3, 1.0); +insert into ratings values (486, 461110, '2003-03-14', 1, 0.5); +insert into ratings values (486, 461110, '2003-03-14', 2, 0.1); +insert into ratings values (486, 461110, '2003-03-14', 3, 0.4); +insert into ratings values (486, 105942, '2005-02-12', 4, 1.0); +insert into ratings values (487, 109089, '2005-03-08', 2, 1.0); +insert into ratings values (487, 452265, '2005-05-29', 3, 0.2); +insert into ratings values (487, 452265, '2005-05-29', 4, 0.3); +insert into ratings values (487, 452265, '2005-05-29', 5, 0.5); +insert into ratings values (487, 86365, '2005-05-08', 5, 1.0); +insert into ratings values (487, 178860, '2005-01-19', 3, 0.4); +insert into ratings values (487, 178860, '2005-01-19', 4, 0.6); +insert into ratings values (487, 370828, '2004-11-29', 3, 1.0); +insert into ratings values (488, 273292, '2004-02-24', 3, 0.6); +insert into ratings values (488, 273292, '2004-02-24', 4, 0.4); +insert into ratings values (488, 152764, '2005-08-29', 1, 0.1); +insert into ratings values (488, 152764, '2005-08-29', 2, 0.5); +insert into ratings values (488, 152764, '2005-08-29', 3, 0.4); +insert into ratings values (488, 314837, '2005-02-18', 3, 0.8); +insert into ratings values (488, 314837, '2005-02-18', 4, 0.2); +insert into ratings values (488, 63170, '2003-08-28', 2, 0.1); +insert into ratings values (488, 63170, '2003-08-28', 3, 0.5); +insert into ratings values (488, 63170, '2003-08-28', 4, 0.4); +insert into ratings values (488, 102219, '2003-08-03', 2, 0.4); +insert into ratings values (488, 102219, '2003-08-03', 3, 0.6); +insert into ratings values (489, 33916, '2003-04-16', 3, 1.0); +insert into ratings values (489, 294962, '2004-03-25', 3, 0.1); +insert into ratings values (489, 294962, '2004-03-25', 4, 0.5); +insert into ratings values (489, 294962, '2004-03-25', 5, 0.4); +insert into ratings values (489, 86767, '2004-04-20', 3, 1.0); +insert into ratings values (489, 426397, '2004-10-27', 5, 1.0); +insert into ratings values (489, 428170, '2004-09-09', 2, 0.1); +insert into ratings values (489, 428170, '2004-09-09', 3, 0.4); +insert into ratings values (489, 428170, '2004-09-09', 4, 0.5); +insert into ratings values (490, 92015, '2003-07-02', 1, 1.0); +insert into ratings values (490, 46036, '2003-11-13', 2, 1.0); +insert into ratings values (490, 21983, '2002-07-02', 4, 1.0); +insert into ratings values (490, 1333, '2005-04-16', 2, 0.6); +insert into ratings values (490, 1333, '2005-04-16', 3, 0.4); +insert into ratings values (490, 221091, '2004-12-30', 1, 0.1); +insert into ratings values (490, 221091, '2004-12-30', 2, 0.5); +insert into ratings values (490, 221091, '2004-12-30', 3, 0.4); +insert into ratings values (491, 171757, '2005-12-21', 2, 0.3); +insert into ratings values (491, 171757, '2005-12-21', 3, 0.7); +insert into ratings values (491, 98044, '2005-09-30', 4, 1.0); +insert into ratings values (491, 385977, '2005-10-24', 2, 0.5); +insert into ratings values (491, 385977, '2005-10-24', 3, 0.4); +insert into ratings values (491, 385977, '2005-10-24', 4, 0.1); +insert into ratings values (491, 115814, '2005-11-14', 5, 1.0); +insert into ratings values (491, 313229, '2005-10-20', 3, 0.3); +insert into ratings values (491, 313229, '2005-10-20', 4, 0.5); +insert into ratings values (491, 313229, '2005-10-20', 5, 0.2); +insert into ratings values (492, 306466, '2002-06-28', 1, 0.5); +insert into ratings values (492, 306466, '2002-06-28', 2, 0.5); +insert into ratings values (492, 273292, '2003-12-23', 4, 1.0); +insert into ratings values (492, 14690, '2002-04-16', 2, 0.2); +insert into ratings values (492, 14690, '2002-04-16', 3, 0.8); +insert into ratings values (492, 136630, '2004-03-13', 2, 0.7); +insert into ratings values (492, 136630, '2004-03-13', 3, 0.3); +insert into ratings values (492, 68845, '2003-01-21', 3, 1.0); +insert into ratings values (493, 403531, '2004-02-05', 4, 0.4); +insert into ratings values (493, 403531, '2004-02-05', 5, 0.6); +insert into ratings values (493, 273945, '2004-08-30', 2, 0.3); +insert into ratings values (493, 273945, '2004-08-30', 3, 0.5); +insert into ratings values (493, 273945, '2004-08-30', 4, 0.2); +insert into ratings values (493, 155342, '2003-11-15', 1, 1.0); +insert into ratings values (493, 399693, '2004-01-21', 1, 0.7); +insert into ratings values (493, 399693, '2004-01-21', 2, 0.3); +insert into ratings values (493, 7116, '2003-04-22', 3, 0.8); +insert into ratings values (493, 7116, '2003-04-22', 4, 0.2); +insert into ratings values (494, 369430, '2004-07-09', 5, 1.0); +insert into ratings values (494, 462930, '2004-04-30', 3, 0.3); +insert into ratings values (494, 462930, '2004-04-30', 4, 0.6); +insert into ratings values (494, 462930, '2004-04-30', 5, 0.1); +insert into ratings values (494, 33916, '2004-08-22', 4, 0.8); +insert into ratings values (494, 33916, '2004-08-22', 5, 0.2); +insert into ratings values (494, 66187, '2005-08-22', 2, 0.4); +insert into ratings values (494, 66187, '2005-08-22', 3, 0.4); +insert into ratings values (494, 66187, '2005-08-22', 4, 0.2); +insert into ratings values (494, 25382, '2004-04-22', 3, 0.2); +insert into ratings values (494, 25382, '2004-04-22', 4, 0.5); +insert into ratings values (494, 25382, '2004-04-22', 5, 0.3); +insert into ratings values (495, 33001, '2005-10-24', 3, 0.5); +insert into ratings values (495, 33001, '2005-10-24', 4, 0.5); +insert into ratings values (495, 204280, '2005-07-18', 4, 1.0); +insert into ratings values (495, 322178, '2005-03-17', 1, 0.4); +insert into ratings values (495, 322178, '2005-03-17', 2, 0.2); +insert into ratings values (495, 322178, '2005-03-17', 3, 0.4); +insert into ratings values (495, 166043, '2004-07-27', 3, 0.6); +insert into ratings values (495, 166043, '2004-07-27', 4, 0.4); +insert into ratings values (495, 325964, '2005-04-26', 3, 1.0); +insert into ratings values (496, 320454, '2005-03-08', 4, 1.0); +insert into ratings values (496, 35972, '2005-07-31', 4, 1.0); +insert into ratings values (496, 234798, '2004-11-18', 4, 1.0); +insert into ratings values (496, 124014, '2005-03-26', 4, 1.0); +insert into ratings values (496, 225935, '2005-09-01', 3, 0.6); +insert into ratings values (496, 225935, '2005-09-01', 4, 0.4); +insert into ratings values (497, 193223, '2005-11-22', 2, 1.0); +insert into ratings values (497, 33625, '2003-12-13', 4, 0.4); +insert into ratings values (497, 33625, '2003-12-13', 5, 0.6); +insert into ratings values (497, 42403, '2005-03-25', 2, 1.0); +insert into ratings values (497, 436461, '2005-09-18', 3, 1.0); +insert into ratings values (497, 61472, '2005-08-08', 2, 0.3); +insert into ratings values (497, 61472, '2005-08-08', 3, 0.7); +insert into ratings values (498, 372289, '2003-10-19', 4, 1.0); +insert into ratings values (498, 486507, '2003-12-12', 3, 0.2); +insert into ratings values (498, 486507, '2003-12-12', 4, 0.6); +insert into ratings values (498, 486507, '2003-12-12', 5, 0.2); +insert into ratings values (498, 317779, '2003-06-27', 1, 1.0); +insert into ratings values (498, 155342, '2003-02-12', 3, 0.3); +insert into ratings values (498, 155342, '2003-02-12', 4, 0.1); +insert into ratings values (498, 155342, '2003-02-12', 5, 0.6); +insert into ratings values (498, 374858, '2004-09-19', 2, 0.1); +insert into ratings values (498, 374858, '2004-09-19', 3, 0.5); +insert into ratings values (498, 374858, '2004-09-19', 4, 0.4); +insert into ratings values (499, 306466, '2001-09-21', 1, 0.1); +insert into ratings values (499, 306466, '2001-09-21', 2, 0.4); +insert into ratings values (499, 306466, '2001-09-21', 3, 0.5); +insert into ratings values (499, 492722, '2003-03-05', 4, 1.0); +insert into ratings values (499, 426397, '2005-08-20', 3, 0.1); +insert into ratings values (499, 426397, '2005-08-20', 4, 0.4); +insert into ratings values (499, 426397, '2005-08-20', 5, 0.5); +insert into ratings values (499, 25382, '2004-05-02', 2, 0.3); +insert into ratings values (499, 25382, '2004-05-02', 3, 0.7); +insert into ratings values (499, 139297, '2004-11-09', 2, 0.1); +insert into ratings values (499, 139297, '2004-11-09', 3, 0.6); +insert into ratings values (499, 139297, '2004-11-09', 4, 0.3); +insert into ratings values (500, 482592, '2005-06-27', 4, 1.0); +insert into ratings values (500, 322178, '2005-03-17', 1, 0.7); +insert into ratings values (500, 322178, '2005-03-17', 2, 0.3); +insert into ratings values (500, 1333, '2005-04-05', 3, 0.4); +insert into ratings values (500, 1333, '2005-04-05', 4, 0.6); +insert into ratings values (500, 303948, '2005-07-08', 3, 0.2); +insert into ratings values (500, 303948, '2005-07-08', 4, 0.5); +insert into ratings values (500, 303948, '2005-07-08', 5, 0.3); +insert into ratings values (500, 114594, '2005-06-03', 3, 0.4); +insert into ratings values (500, 114594, '2005-06-03', 4, 0.1); +insert into ratings values (500, 114594, '2005-06-03', 5, 0.5); +insert into ratings values (501, 364518, '2003-08-13', 3, 0.2); +insert into ratings values (501, 364518, '2003-08-13', 4, 0.8); +insert into ratings values (501, 205706, '2000-02-14', 2, 0.5); +insert into ratings values (501, 205706, '2000-02-14', 3, 0.5); +insert into ratings values (501, 69867, '2000-03-18', 2, 0.3); +insert into ratings values (501, 69867, '2000-03-18', 3, 0.5); +insert into ratings values (501, 69867, '2000-03-18', 4, 0.2); +insert into ratings values (501, 306466, '2001-03-15', 3, 0.1); +insert into ratings values (501, 306466, '2001-03-15', 4, 0.5); +insert into ratings values (501, 306466, '2001-03-15', 5, 0.4); +insert into ratings values (501, 477388, '2000-04-19', 3, 1.0); +insert into ratings values (502, 100561, '2005-05-16', 3, 1.0); +insert into ratings values (502, 282486, '2005-06-07', 2, 0.2); +insert into ratings values (502, 282486, '2005-06-07', 3, 0.8); +insert into ratings values (502, 471426, '2005-11-18', 2, 0.3); +insert into ratings values (502, 471426, '2005-11-18', 3, 0.6); +insert into ratings values (502, 471426, '2005-11-18', 4, 0.1); +insert into ratings values (502, 141676, '2005-06-26', 4, 0.6); +insert into ratings values (502, 141676, '2005-06-26', 5, 0.4); +insert into ratings values (502, 204666, '2005-12-30', 4, 1.0); +insert into ratings values (503, 221162, '2005-05-24', 3, 0.5); +insert into ratings values (503, 221162, '2005-05-24', 4, 0.5); +insert into ratings values (503, 484618, '2005-03-16', 2, 0.4); +insert into ratings values (503, 484618, '2005-03-16', 3, 0.6); +insert into ratings values (503, 49145, '2005-04-03', 3, 0.1); +insert into ratings values (503, 49145, '2005-04-03', 4, 0.6); +insert into ratings values (503, 49145, '2005-04-03', 5, 0.3); +insert into ratings values (503, 177712, '2005-05-31', 3, 0.1); +insert into ratings values (503, 177712, '2005-05-31', 4, 0.5); +insert into ratings values (503, 177712, '2005-05-31', 5, 0.4); +insert into ratings values (503, 162348, '2005-07-02', 3, 0.5); +insert into ratings values (503, 162348, '2005-07-02', 4, 0.4); +insert into ratings values (503, 162348, '2005-07-02', 5, 0.1); +insert into ratings values (504, 198560, '2005-05-06', 4, 0.2); +insert into ratings values (504, 198560, '2005-05-06', 5, 0.8); +insert into ratings values (504, 205345, '2005-09-07', 4, 0.3); +insert into ratings values (504, 205345, '2005-09-07', 5, 0.7); +insert into ratings values (504, 247794, '2002-05-10', 3, 1.0); +insert into ratings values (504, 295983, '2005-11-02', 3, 0.3); +insert into ratings values (504, 295983, '2005-11-02', 4, 0.1); +insert into ratings values (504, 295983, '2005-11-02', 5, 0.6); +insert into ratings values (504, 264160, '2005-07-06', 5, 1.0); +insert into ratings values (505, 325046, '2004-05-17', 3, 0.5); +insert into ratings values (505, 325046, '2004-05-17', 4, 0.5); +insert into ratings values (505, 383894, '2005-04-24', 2, 0.4); +insert into ratings values (505, 383894, '2005-04-24', 3, 0.6); +insert into ratings values (505, 466862, '2005-06-03', 3, 1.0); +insert into ratings values (505, 70976, '2004-02-28', 1, 0.7); +insert into ratings values (505, 70976, '2004-02-28', 2, 0.3); +insert into ratings values (505, 451304, '2003-08-10', 4, 1.0); +insert into ratings values (506, 349440, '2004-02-26', 2, 0.1); +insert into ratings values (506, 349440, '2004-02-26', 3, 0.5); +insert into ratings values (506, 349440, '2004-02-26', 4, 0.4); +insert into ratings values (506, 198191, '2005-01-03', 4, 1.0); +insert into ratings values (506, 122746, '2005-03-12', 3, 1.0); +insert into ratings values (506, 255960, '2003-02-13', 4, 0.4); +insert into ratings values (506, 255960, '2003-02-13', 5, 0.6); +insert into ratings values (506, 323550, '2003-04-21', 1, 0.4); +insert into ratings values (506, 323550, '2003-04-21', 2, 0.6); +insert into ratings values (507, 139297, '2004-01-16', 3, 0.4); +insert into ratings values (507, 139297, '2004-01-16', 4, 0.6); +insert into ratings values (507, 44176, '2005-05-03', 3, 0.5); +insert into ratings values (507, 44176, '2005-05-03', 4, 0.5); +insert into ratings values (507, 259348, '2004-06-29', 5, 1.0); +insert into ratings values (507, 276860, '2005-11-29', 4, 1.0); +insert into ratings values (507, 200255, '2004-09-14', 5, 1.0); +insert into ratings values (508, 350899, '2002-05-02', 4, 0.4); +insert into ratings values (508, 350899, '2002-05-02', 5, 0.6); +insert into ratings values (508, 293461, '2005-06-14', 3, 0.8); +insert into ratings values (508, 293461, '2005-06-14', 4, 0.2); +insert into ratings values (508, 268580, '2003-02-21', 3, 0.7); +insert into ratings values (508, 268580, '2003-02-21', 4, 0.3); +insert into ratings values (508, 478176, '2004-05-25', 4, 0.4); +insert into ratings values (508, 478176, '2004-05-25', 5, 0.6); +insert into ratings values (508, 28445, '2005-02-14', 2, 0.1); +insert into ratings values (508, 28445, '2005-02-14', 3, 0.6); +insert into ratings values (508, 28445, '2005-02-14', 4, 0.3); +insert into ratings values (509, 249052, '2005-08-14', 3, 0.2); +insert into ratings values (509, 249052, '2005-08-14', 4, 0.2); +insert into ratings values (509, 249052, '2005-08-14', 5, 0.6); +insert into ratings values (509, 97350, '2005-08-22', 1, 0.4); +insert into ratings values (509, 97350, '2005-08-22', 2, 0.5); +insert into ratings values (509, 97350, '2005-08-22', 3, 0.1); +insert into ratings values (509, 242428, '2005-08-15', 2, 1.0); +insert into ratings values (509, 424565, '2005-09-06', 1, 0.4); +insert into ratings values (509, 424565, '2005-09-06', 2, 0.1); +insert into ratings values (509, 424565, '2005-09-06', 3, 0.5); +insert into ratings values (509, 200392, '2005-10-14', 2, 0.6); +insert into ratings values (509, 200392, '2005-10-14', 3, 0.4); +insert into ratings values (510, 300074, '2005-07-09', 1, 0.4); +insert into ratings values (510, 300074, '2005-07-09', 2, 0.3); +insert into ratings values (510, 300074, '2005-07-09', 3, 0.3); +insert into ratings values (510, 303948, '2005-03-28', 1, 0.3); +insert into ratings values (510, 303948, '2005-03-28', 2, 0.5); +insert into ratings values (510, 303948, '2005-03-28', 3, 0.2); +insert into ratings values (510, 92033, '2005-03-09', 4, 1.0); +insert into ratings values (510, 119986, '2005-06-20', 5, 1.0); +insert into ratings values (510, 301456, '2005-10-23', 3, 0.3); +insert into ratings values (510, 301456, '2005-10-23', 4, 0.1); +insert into ratings values (510, 301456, '2005-10-23', 5, 0.6); +insert into ratings values (511, 43601, '2003-07-18', 4, 0.4); +insert into ratings values (511, 43601, '2003-07-18', 5, 0.6); +insert into ratings values (511, 370291, '2003-09-07', 3, 0.4); +insert into ratings values (511, 370291, '2003-09-07', 4, 0.6); +insert into ratings values (511, 293901, '2003-05-28', 4, 0.8); +insert into ratings values (511, 293901, '2003-05-28', 5, 0.2); +insert into ratings values (511, 428170, '2003-05-31', 1, 0.4); +insert into ratings values (511, 428170, '2003-05-31', 2, 0.5); +insert into ratings values (511, 428170, '2003-05-31', 3, 0.1); +insert into ratings values (511, 438496, '2003-11-06', 1, 0.4); +insert into ratings values (511, 438496, '2003-11-06', 2, 0.4); +insert into ratings values (511, 438496, '2003-11-06', 3, 0.2); +insert into ratings values (512, 305151, '2004-11-20', 2, 0.5); +insert into ratings values (512, 305151, '2004-11-20', 3, 0.5); +insert into ratings values (512, 105833, '2002-05-02', 1, 1.0); +insert into ratings values (512, 76196, '2001-12-19', 1, 0.7); +insert into ratings values (512, 76196, '2001-12-19', 2, 0.3); +insert into ratings values (512, 165383, '2005-03-08', 3, 0.4); +insert into ratings values (512, 165383, '2005-03-08', 4, 0.6); +insert into ratings values (512, 86365, '2004-10-11', 4, 1.0); +insert into ratings values (513, 465286, '2004-08-02', 1, 0.3); +insert into ratings values (513, 465286, '2004-08-02', 2, 0.7); +insert into ratings values (513, 193052, '2003-02-14', 1, 1.0); +insert into ratings values (513, 217056, '2003-05-13', 1, 0.4); +insert into ratings values (513, 217056, '2003-05-13', 2, 0.4); +insert into ratings values (513, 217056, '2003-05-13', 3, 0.2); +insert into ratings values (513, 467933, '2005-04-27', 1, 1.0); +insert into ratings values (513, 367678, '2003-08-04', 1, 0.4); +insert into ratings values (513, 367678, '2003-08-04', 2, 0.6); +insert into ratings values (514, 101470, '2004-11-20', 2, 0.2); +insert into ratings values (514, 101470, '2004-11-20', 3, 0.4); +insert into ratings values (514, 101470, '2004-11-20', 4, 0.4); +insert into ratings values (514, 66358, '2005-06-10', 3, 1.0); +insert into ratings values (514, 251535, '2003-02-21', 2, 0.5); +insert into ratings values (514, 251535, '2003-02-21', 3, 0.5); +insert into ratings values (514, 243437, '2004-09-28', 4, 0.3); +insert into ratings values (514, 243437, '2004-09-28', 5, 0.7); +insert into ratings values (514, 373295, '2004-11-29', 3, 0.6); +insert into ratings values (514, 373295, '2004-11-29', 4, 0.4); +insert into ratings values (515, 49828, '2005-08-27', 1, 1.0); +insert into ratings values (515, 488565, '2005-10-20', 1, 1.0); +insert into ratings values (515, 196977, '2005-07-29', 1, 0.7); +insert into ratings values (515, 196977, '2005-07-29', 2, 0.3); +insert into ratings values (515, 448644, '2005-07-29', 1, 0.5); +insert into ratings values (515, 448644, '2005-07-29', 2, 0.4); +insert into ratings values (515, 448644, '2005-07-29', 3, 0.1); +insert into ratings values (515, 460591, '2005-08-30', 1, 0.5); +insert into ratings values (515, 460591, '2005-08-30', 2, 0.4); +insert into ratings values (515, 460591, '2005-08-30', 3, 0.1); +insert into ratings values (516, 306466, '2004-02-24', 3, 0.1); +insert into ratings values (516, 306466, '2004-02-24', 4, 0.5); +insert into ratings values (516, 306466, '2004-02-24', 5, 0.4); +insert into ratings values (516, 311919, '2004-05-19', 2, 0.5); +insert into ratings values (516, 311919, '2004-05-19', 3, 0.5); +insert into ratings values (516, 160977, '2003-02-14', 4, 1.0); +insert into ratings values (516, 30878, '2004-09-11', 4, 0.4); +insert into ratings values (516, 30878, '2004-09-11', 5, 0.6); +insert into ratings values (516, 244820, '2005-08-10', 3, 0.2); +insert into ratings values (516, 244820, '2005-08-10', 4, 0.3); +insert into ratings values (516, 244820, '2005-08-10', 5, 0.5); +insert into ratings values (517, 39956, '2003-11-22', 5, 1.0); +insert into ratings values (517, 308495, '2004-10-09', 5, 1.0); +insert into ratings values (517, 492722, '2004-12-14', 4, 0.6); +insert into ratings values (517, 492722, '2004-12-14', 5, 0.4); +insert into ratings values (517, 442739, '2005-01-05', 3, 1.0); +insert into ratings values (517, 314421, '2005-05-07', 3, 0.3); +insert into ratings values (517, 314421, '2005-05-07', 4, 0.4); +insert into ratings values (517, 314421, '2005-05-07', 5, 0.3); +insert into ratings values (518, 51971, '2005-01-19', 3, 0.4); +insert into ratings values (518, 51971, '2005-01-19', 4, 0.2); +insert into ratings values (518, 51971, '2005-01-19', 5, 0.4); +insert into ratings values (518, 14690, '2004-12-01', 4, 0.7); +insert into ratings values (518, 14690, '2004-12-01', 5, 0.3); +insert into ratings values (518, 433803, '2005-04-07', 4, 1.0); +insert into ratings values (518, 1427, '2005-07-04', 4, 0.3); +insert into ratings values (518, 1427, '2005-07-04', 5, 0.7); +insert into ratings values (518, 152287, '2005-09-16', 4, 0.5); +insert into ratings values (518, 152287, '2005-09-16', 5, 0.5); +insert into ratings values (519, 8826, '2004-10-19', 2, 0.5); +insert into ratings values (519, 8826, '2004-10-19', 3, 0.5); +insert into ratings values (519, 423676, '2004-11-19', 4, 1.0); +insert into ratings values (519, 303948, '2005-11-28', 3, 0.8); +insert into ratings values (519, 303948, '2005-11-28', 4, 0.2); +insert into ratings values (519, 488900, '2005-09-11', 4, 0.4); +insert into ratings values (519, 488900, '2005-09-11', 5, 0.6); +insert into ratings values (519, 183038, '2004-07-06', 3, 0.6); +insert into ratings values (519, 183038, '2004-07-06', 4, 0.4); +insert into ratings values (520, 200255, '2005-07-10', 4, 0.6); +insert into ratings values (520, 200255, '2005-07-10', 5, 0.4); +insert into ratings values (520, 303948, '2005-06-29', 3, 0.2); +insert into ratings values (520, 303948, '2005-06-29', 4, 0.8); +insert into ratings values (520, 85856, '2005-05-13', 2, 0.2); +insert into ratings values (520, 85856, '2005-05-13', 3, 0.6); +insert into ratings values (520, 85856, '2005-05-13', 4, 0.2); +insert into ratings values (520, 313872, '2005-07-11', 3, 1.0); +insert into ratings values (520, 243994, '2005-09-19', 1, 0.6); +insert into ratings values (520, 243994, '2005-09-19', 2, 0.3); +insert into ratings values (520, 243994, '2005-09-19', 3, 0.1); +insert into ratings values (521, 70976, '2004-02-28', 1, 0.6); +insert into ratings values (521, 70976, '2004-02-28', 2, 0.3); +insert into ratings values (521, 70976, '2004-02-28', 3, 0.1); +insert into ratings values (521, 319258, '2002-11-03', 1, 0.4); +insert into ratings values (521, 319258, '2002-11-03', 2, 0.3); +insert into ratings values (521, 319258, '2002-11-03', 3, 0.3); +insert into ratings values (521, 349572, '2005-02-21', 1, 0.6); +insert into ratings values (521, 349572, '2005-02-21', 2, 0.3); +insert into ratings values (521, 349572, '2005-02-21', 3, 0.1); +insert into ratings values (521, 264581, '2003-01-13', 1, 0.2); +insert into ratings values (521, 264581, '2003-01-13', 2, 0.8); +insert into ratings values (521, 158854, '2005-06-07', 4, 1.0); +insert into ratings values (522, 86879, '2004-09-11', 4, 0.6); +insert into ratings values (522, 86879, '2004-09-11', 5, 0.4); +insert into ratings values (522, 262828, '2004-10-10', 3, 0.6); +insert into ratings values (522, 262828, '2004-10-10', 4, 0.4); +insert into ratings values (522, 322178, '2005-03-17', 1, 1.0); +insert into ratings values (522, 73103, '2004-08-07', 3, 0.2); +insert into ratings values (522, 73103, '2004-08-07', 4, 0.2); +insert into ratings values (522, 73103, '2004-08-07', 5, 0.6); +insert into ratings values (522, 484675, '2004-06-28', 2, 0.1); +insert into ratings values (522, 484675, '2004-06-28', 3, 0.6); +insert into ratings values (522, 484675, '2004-06-28', 4, 0.3); +insert into ratings values (523, 375269, '2004-11-04', 3, 0.3); +insert into ratings values (523, 375269, '2004-11-04', 4, 0.2); +insert into ratings values (523, 375269, '2004-11-04', 5, 0.5); +insert into ratings values (523, 442739, '2005-01-05', 3, 1.0); +insert into ratings values (523, 491331, '2005-09-04', 1, 0.3); +insert into ratings values (523, 491331, '2005-09-04', 2, 0.4); +insert into ratings values (523, 491331, '2005-09-04', 3, 0.3); +insert into ratings values (523, 38984, '2005-02-23', 3, 0.2); +insert into ratings values (523, 38984, '2005-02-23', 4, 0.4); +insert into ratings values (523, 38984, '2005-02-23', 5, 0.4); +insert into ratings values (523, 371667, '2005-01-31', 5, 1.0); +insert into ratings values (524, 160977, '2003-07-09', 4, 0.6); +insert into ratings values (524, 160977, '2003-07-09', 5, 0.4); +insert into ratings values (524, 86767, '2004-04-20', 3, 0.3); +insert into ratings values (524, 86767, '2004-04-20', 4, 0.6); +insert into ratings values (524, 86767, '2004-04-20', 5, 0.1); +insert into ratings values (524, 377802, '2001-03-16', 3, 0.4); +insert into ratings values (524, 377802, '2001-03-16', 4, 0.4); +insert into ratings values (524, 377802, '2001-03-16', 5, 0.2); +insert into ratings values (524, 326587, '2000-12-18', 2, 1.0); +insert into ratings values (524, 180151, '2002-02-21', 3, 0.4); +insert into ratings values (524, 180151, '2002-02-21', 4, 0.5); +insert into ratings values (524, 180151, '2002-02-21', 5, 0.1); +insert into ratings values (525, 205779, '2005-06-09', 3, 0.1); +insert into ratings values (525, 205779, '2005-06-09', 4, 0.3); +insert into ratings values (525, 205779, '2005-06-09', 5, 0.6); +insert into ratings values (525, 249509, '2005-09-21', 1, 0.2); +insert into ratings values (525, 249509, '2005-09-21', 2, 0.8); +insert into ratings values (525, 448727, '2004-11-30', 1, 0.5); +insert into ratings values (525, 448727, '2004-11-30', 2, 0.2); +insert into ratings values (525, 448727, '2004-11-30', 3, 0.3); +insert into ratings values (525, 412207, '2004-09-13', 2, 1.0); +insert into ratings values (525, 8299, '2004-10-13', 2, 0.1); +insert into ratings values (525, 8299, '2004-10-13', 3, 0.5); +insert into ratings values (525, 8299, '2004-10-13', 4, 0.4); +insert into ratings values (526, 338945, '2005-08-15', 4, 0.6); +insert into ratings values (526, 338945, '2005-08-15', 5, 0.4); +insert into ratings values (526, 37188, '2004-01-16', 2, 0.3); +insert into ratings values (526, 37188, '2004-01-16', 3, 0.5); +insert into ratings values (526, 37188, '2004-01-16', 4, 0.2); +insert into ratings values (526, 119287, '2003-10-10', 2, 0.2); +insert into ratings values (526, 119287, '2003-10-10', 3, 0.5); +insert into ratings values (526, 119287, '2003-10-10', 4, 0.3); +insert into ratings values (526, 160600, '2005-01-19', 2, 0.6); +insert into ratings values (526, 160600, '2005-01-19', 3, 0.4); +insert into ratings values (526, 50704, '2005-08-17', 2, 0.2); +insert into ratings values (526, 50704, '2005-08-17', 3, 0.6); +insert into ratings values (526, 50704, '2005-08-17', 4, 0.2); +insert into ratings values (527, 369848, '2004-10-01', 1, 0.1); +insert into ratings values (527, 369848, '2004-10-01', 2, 0.4); +insert into ratings values (527, 369848, '2004-10-01', 3, 0.5); +insert into ratings values (527, 496913, '2003-12-02', 2, 0.5); +insert into ratings values (527, 496913, '2003-12-02', 3, 0.4); +insert into ratings values (527, 496913, '2003-12-02', 4, 0.1); +insert into ratings values (527, 249288, '2004-11-22', 2, 0.1); +insert into ratings values (527, 249288, '2004-11-22', 3, 0.4); +insert into ratings values (527, 249288, '2004-11-22', 4, 0.5); +insert into ratings values (527, 219903, '2004-09-30', 3, 0.8); +insert into ratings values (527, 219903, '2004-09-30', 4, 0.2); +insert into ratings values (527, 354216, '2004-06-12', 3, 1.0); +insert into ratings values (528, 30878, '2005-07-08', 3, 0.2); +insert into ratings values (528, 30878, '2005-07-08', 4, 0.3); +insert into ratings values (528, 30878, '2005-07-08', 5, 0.5); +insert into ratings values (528, 139297, '2005-05-14', 1, 1.0); +insert into ratings values (528, 56069, '2005-06-12', 3, 1.0); +insert into ratings values (528, 263315, '2005-09-16', 2, 0.6); +insert into ratings values (528, 263315, '2005-09-16', 3, 0.4); +insert into ratings values (528, 359927, '2005-09-19', 2, 0.3); +insert into ratings values (528, 359927, '2005-09-19', 3, 0.6); +insert into ratings values (528, 359927, '2005-09-19', 4, 0.1); +insert into ratings values (529, 209200, '2003-06-24', 3, 0.2); +insert into ratings values (529, 209200, '2003-06-24', 4, 0.5); +insert into ratings values (529, 209200, '2003-06-24', 5, 0.3); +insert into ratings values (529, 281396, '2004-01-22', 3, 1.0); +insert into ratings values (529, 329794, '2005-09-09', 5, 1.0); +insert into ratings values (529, 487950, '2004-08-20', 3, 0.7); +insert into ratings values (529, 487950, '2004-08-20', 4, 0.3); +insert into ratings values (529, 161886, '2005-08-25', 2, 0.2); +insert into ratings values (529, 161886, '2005-08-25', 3, 0.8); +insert into ratings values (530, 187896, '2005-10-25', 1, 0.3); +insert into ratings values (530, 187896, '2005-10-25', 2, 0.6); +insert into ratings values (530, 187896, '2005-10-25', 3, 0.1); +insert into ratings values (530, 235789, '2004-10-27', 3, 1.0); +insert into ratings values (530, 177425, '2004-07-15', 4, 0.4); +insert into ratings values (530, 177425, '2004-07-15', 5, 0.6); +insert into ratings values (530, 395483, '2005-08-23', 1, 1.0); +insert into ratings values (530, 147386, '2004-11-20', 2, 0.1); +insert into ratings values (530, 147386, '2004-11-20', 3, 0.6); +insert into ratings values (530, 147386, '2004-11-20', 4, 0.3); +insert into ratings values (531, 281396, '2004-08-15', 3, 1.0); +insert into ratings values (531, 429787, '2005-07-18', 2, 0.3); +insert into ratings values (531, 429787, '2005-07-18', 3, 0.7); +insert into ratings values (531, 343645, '2005-08-25', 3, 0.7); +insert into ratings values (531, 343645, '2005-08-25', 4, 0.3); +insert into ratings values (531, 211369, '2005-08-01', 2, 0.2); +insert into ratings values (531, 211369, '2005-08-01', 3, 0.6); +insert into ratings values (531, 211369, '2005-08-01', 4, 0.2); +insert into ratings values (531, 381288, '2004-07-24', 1, 0.5); +insert into ratings values (531, 381288, '2004-07-24', 2, 0.5); +insert into ratings values (532, 141839, '2005-07-14', 1, 0.3); +insert into ratings values (532, 141839, '2005-07-14', 2, 0.5); +insert into ratings values (532, 141839, '2005-07-14', 3, 0.2); +insert into ratings values (532, 92056, '2005-09-28', 3, 0.6); +insert into ratings values (532, 92056, '2005-09-28', 4, 0.4); +insert into ratings values (532, 13334, '2005-10-11', 2, 1.0); +insert into ratings values (532, 414791, '2005-12-04', 1, 0.5); +insert into ratings values (532, 414791, '2005-12-04', 2, 0.4); +insert into ratings values (532, 414791, '2005-12-04', 3, 0.1); +insert into ratings values (532, 352622, '2005-04-17', 1, 0.2); +insert into ratings values (532, 352622, '2005-04-17', 2, 0.6); +insert into ratings values (532, 352622, '2005-04-17', 3, 0.2); +insert into ratings values (533, 395744, '2005-08-13', 4, 1.0); +insert into ratings values (533, 39956, '2003-11-22', 5, 1.0); +insert into ratings values (533, 442739, '2005-01-05', 3, 1.0); +insert into ratings values (533, 325158, '2005-07-17', 5, 1.0); +insert into ratings values (533, 441324, '2005-01-11', 3, 0.7); +insert into ratings values (533, 441324, '2005-01-11', 4, 0.3); +insert into ratings values (534, 68321, '2001-12-01', 1, 1.0); +insert into ratings values (534, 139053, '2002-03-22', 1, 1.0); +insert into ratings values (534, 487119, '2002-08-29', 4, 0.3); +insert into ratings values (534, 487119, '2002-08-29', 5, 0.7); +insert into ratings values (534, 25382, '2004-04-04', 3, 0.2); +insert into ratings values (534, 25382, '2004-04-04', 4, 0.6); +insert into ratings values (534, 25382, '2004-04-04', 5, 0.2); +insert into ratings values (534, 146851, '2005-09-21', 4, 0.4); +insert into ratings values (534, 146851, '2005-09-21', 5, 0.6); +insert into ratings values (535, 306466, '2001-11-15', 1, 1.0); +insert into ratings values (535, 41412, '2002-03-20', 4, 1.0); +insert into ratings values (535, 139297, '2004-01-16', 3, 1.0); +insert into ratings values (535, 89961, '2005-05-17', 4, 1.0); +insert into ratings values (535, 105595, '2005-06-10', 2, 0.4); +insert into ratings values (535, 105595, '2005-06-10', 3, 0.6); +insert into ratings values (536, 418042, '2004-09-04', 3, 1.0); +insert into ratings values (536, 90694, '2005-11-03', 3, 1.0); +insert into ratings values (536, 54781, '2003-04-16', 4, 0.3); +insert into ratings values (536, 54781, '2003-04-16', 5, 0.7); +insert into ratings values (536, 363163, '2005-02-09', 1, 0.2); +insert into ratings values (536, 363163, '2005-02-09', 2, 0.6); +insert into ratings values (536, 363163, '2005-02-09', 3, 0.2); +insert into ratings values (536, 151709, '2003-09-09', 3, 0.2); +insert into ratings values (536, 151709, '2003-09-09', 4, 0.5); +insert into ratings values (536, 151709, '2003-09-09', 5, 0.3); +insert into ratings values (537, 294993, '2005-05-31', 3, 0.1); +insert into ratings values (537, 294993, '2005-05-31', 4, 0.5); +insert into ratings values (537, 294993, '2005-05-31', 5, 0.4); +insert into ratings values (537, 200255, '2004-09-10', 3, 0.4); +insert into ratings values (537, 200255, '2004-09-10', 4, 0.2); +insert into ratings values (537, 200255, '2004-09-10', 5, 0.4); +insert into ratings values (537, 303948, '2005-03-22', 3, 1.0); +insert into ratings values (537, 438290, '2004-09-18', 4, 0.4); +insert into ratings values (537, 438290, '2004-09-18', 5, 0.6); +insert into ratings values (537, 76963, '2004-12-18', 3, 0.8); +insert into ratings values (537, 76963, '2004-12-18', 4, 0.2); +insert into ratings values (538, 24473, '2004-12-13', 1, 0.2); +insert into ratings values (538, 24473, '2004-12-13', 2, 0.5); +insert into ratings values (538, 24473, '2004-12-13', 3, 0.3); +insert into ratings values (538, 223761, '2005-03-11', 2, 0.4); +insert into ratings values (538, 223761, '2005-03-11', 3, 0.6); +insert into ratings values (538, 429281, '2004-11-17', 2, 0.6); +insert into ratings values (538, 429281, '2004-11-17', 3, 0.4); +insert into ratings values (538, 348646, '2005-11-27', 3, 1.0); +insert into ratings values (538, 398903, '2004-12-13', 1, 0.1); +insert into ratings values (538, 398903, '2004-12-13', 2, 0.4); +insert into ratings values (538, 398903, '2004-12-13', 3, 0.5); +insert into ratings values (539, 163830, '2005-05-05', 3, 1.0); +insert into ratings values (539, 300074, '2005-07-09', 1, 0.4); +insert into ratings values (539, 300074, '2005-07-09', 2, 0.3); +insert into ratings values (539, 300074, '2005-07-09', 3, 0.3); +insert into ratings values (539, 491331, '2005-09-04', 1, 0.1); +insert into ratings values (539, 491331, '2005-09-04', 2, 0.4); +insert into ratings values (539, 491331, '2005-09-04', 3, 0.5); +insert into ratings values (539, 241400, '2005-05-16', 4, 0.6); +insert into ratings values (539, 241400, '2005-05-16', 5, 0.4); +insert into ratings values (539, 458459, '2005-07-07', 2, 0.2); +insert into ratings values (539, 458459, '2005-07-07', 3, 0.4); +insert into ratings values (539, 458459, '2005-07-07', 4, 0.4); +insert into ratings values (540, 224584, '2004-12-10', 3, 0.5); +insert into ratings values (540, 224584, '2004-12-10', 4, 0.5); +insert into ratings values (540, 428408, '2005-04-06', 4, 1.0); +insert into ratings values (540, 55138, '2004-07-20', 1, 0.2); +insert into ratings values (540, 55138, '2004-07-20', 2, 0.8); +insert into ratings values (540, 453416, '2005-06-14', 3, 0.1); +insert into ratings values (540, 453416, '2005-06-14', 4, 0.5); +insert into ratings values (540, 453416, '2005-06-14', 5, 0.4); +insert into ratings values (540, 419778, '2005-05-11', 3, 0.1); +insert into ratings values (540, 419778, '2005-05-11', 4, 0.6); +insert into ratings values (540, 419778, '2005-05-11', 5, 0.3); +insert into ratings values (541, 403531, '2003-11-16', 1, 1.0); +insert into ratings values (541, 163399, '2004-08-23', 1, 0.6); +insert into ratings values (541, 163399, '2004-08-23', 2, 0.2); +insert into ratings values (541, 163399, '2004-08-23', 3, 0.2); +insert into ratings values (541, 235789, '2004-10-27', 2, 0.4); +insert into ratings values (541, 235789, '2004-10-27', 3, 0.4); +insert into ratings values (541, 235789, '2004-10-27', 4, 0.2); +insert into ratings values (541, 78441, '2003-06-09', 2, 0.3); +insert into ratings values (541, 78441, '2003-06-09', 3, 0.4); +insert into ratings values (541, 78441, '2003-06-09', 4, 0.3); +insert into ratings values (541, 256065, '2003-08-07', 2, 0.4); +insert into ratings values (541, 256065, '2003-08-07', 3, 0.6); +insert into ratings values (542, 364518, '2002-06-19', 1, 0.4); +insert into ratings values (542, 364518, '2002-06-19', 2, 0.6); +insert into ratings values (542, 442234, '2003-05-07', 2, 1.0); +insert into ratings values (542, 459615, '2001-07-17', 1, 0.5); +insert into ratings values (542, 459615, '2001-07-17', 2, 0.3); +insert into ratings values (542, 459615, '2001-07-17', 3, 0.2); +insert into ratings values (542, 261663, '2003-12-13', 2, 1.0); +insert into ratings values (542, 485715, '2002-10-16', 2, 0.5); +insert into ratings values (542, 485715, '2002-10-16', 3, 0.4); +insert into ratings values (542, 485715, '2002-10-16', 4, 0.1); +insert into ratings values (543, 41412, '2003-09-03', 3, 1.0); +insert into ratings values (543, 400164, '2004-07-15', 4, 1.0); +insert into ratings values (543, 247794, '2002-05-10', 3, 0.8); +insert into ratings values (543, 247794, '2002-05-10', 4, 0.2); +insert into ratings values (543, 175887, '2004-01-03', 4, 1.0); +insert into ratings values (543, 76196, '2002-01-24', 1, 0.1); +insert into ratings values (543, 76196, '2002-01-24', 2, 0.5); +insert into ratings values (543, 76196, '2002-01-24', 3, 0.4); +insert into ratings values (544, 197443, '2004-10-09', 1, 0.6); +insert into ratings values (544, 197443, '2004-10-09', 2, 0.1); +insert into ratings values (544, 197443, '2004-10-09', 3, 0.3); +insert into ratings values (544, 150137, '2004-03-03', 3, 1.0); +insert into ratings values (544, 48614, '2005-06-15', 3, 0.5); +insert into ratings values (544, 48614, '2005-06-15', 4, 0.5); +insert into ratings values (544, 338368, '2004-04-30', 5, 1.0); +insert into ratings values (544, 273887, '2005-02-06', 2, 0.8); +insert into ratings values (544, 273887, '2005-02-06', 3, 0.2); +insert into ratings values (545, 180689, '2005-12-27', 2, 0.2); +insert into ratings values (545, 180689, '2005-12-27', 3, 0.5); +insert into ratings values (545, 180689, '2005-12-27', 4, 0.3); +insert into ratings values (545, 119967, '2005-02-15', 4, 1.0); +insert into ratings values (545, 57038, '2005-02-28', 2, 0.1); +insert into ratings values (545, 57038, '2005-02-28', 3, 0.6); +insert into ratings values (545, 57038, '2005-02-28', 4, 0.3); +insert into ratings values (545, 112320, '2005-09-13', 4, 0.2); +insert into ratings values (545, 112320, '2005-09-13', 5, 0.8); +insert into ratings values (545, 486873, '2004-07-29', 3, 0.3); +insert into ratings values (545, 486873, '2004-07-29', 4, 0.6); +insert into ratings values (545, 486873, '2004-07-29', 5, 0.1); +insert into ratings values (546, 157677, '2005-08-05', 3, 0.5); +insert into ratings values (546, 157677, '2005-08-05', 4, 0.5); +insert into ratings values (546, 87673, '2005-11-16', 2, 1.0); +insert into ratings values (546, 290215, '2005-08-21', 2, 1.0); +insert into ratings values (546, 77550, '2005-05-01', 2, 0.2); +insert into ratings values (546, 77550, '2005-05-01', 3, 0.8); +insert into ratings values (546, 313857, '2005-10-07', 3, 1.0); +insert into ratings values (547, 440723, '2005-12-05', 3, 0.2); +insert into ratings values (547, 440723, '2005-12-05', 4, 0.6); +insert into ratings values (547, 440723, '2005-12-05', 5, 0.2); +insert into ratings values (547, 303948, '2005-07-13', 3, 0.2); +insert into ratings values (547, 303948, '2005-07-13', 4, 0.3); +insert into ratings values (547, 303948, '2005-07-13', 5, 0.5); +insert into ratings values (547, 140916, '2005-08-17', 3, 0.7); +insert into ratings values (547, 140916, '2005-08-17', 4, 0.3); +insert into ratings values (547, 245808, '2005-08-17', 2, 0.1); +insert into ratings values (547, 245808, '2005-08-17', 3, 0.5); +insert into ratings values (547, 245808, '2005-08-17', 4, 0.4); +insert into ratings values (547, 86365, '2005-09-18', 3, 0.5); +insert into ratings values (547, 86365, '2005-09-18', 4, 0.1); +insert into ratings values (547, 86365, '2005-09-18', 5, 0.4); +insert into ratings values (548, 306466, '2001-01-27', 1, 1.0); +insert into ratings values (548, 169485, '2005-07-12', 4, 1.0); +insert into ratings values (548, 66568, '2001-02-03', 3, 0.5); +insert into ratings values (548, 66568, '2001-02-03', 4, 0.5); +insert into ratings values (548, 132390, '2001-02-24', 4, 0.6); +insert into ratings values (548, 132390, '2001-02-24', 5, 0.4); +insert into ratings values (548, 30878, '2004-03-03', 3, 0.3); +insert into ratings values (548, 30878, '2004-03-03', 4, 0.5); +insert into ratings values (548, 30878, '2004-03-03', 5, 0.2); +insert into ratings values (549, 385408, '2003-05-05', 2, 1.0); +insert into ratings values (549, 202667, '2003-11-20', 2, 0.2); +insert into ratings values (549, 202667, '2003-11-20', 3, 0.6); +insert into ratings values (549, 202667, '2003-11-20', 4, 0.2); +insert into ratings values (549, 443189, '2002-12-25', 2, 0.6); +insert into ratings values (549, 443189, '2002-12-25', 3, 0.4); +insert into ratings values (549, 55771, '2005-10-07', 5, 1.0); +insert into ratings values (549, 372881, '2004-05-05', 2, 0.2); +insert into ratings values (549, 372881, '2004-05-05', 3, 0.8); +insert into ratings values (550, 69867, '2000-03-17', 2, 0.3); +insert into ratings values (550, 69867, '2000-03-17', 3, 0.5); +insert into ratings values (550, 69867, '2000-03-17', 4, 0.2); +insert into ratings values (550, 388088, '2000-09-16', 4, 1.0); +insert into ratings values (550, 66568, '2004-02-03', 1, 0.2); +insert into ratings values (550, 66568, '2004-02-03', 2, 0.5); +insert into ratings values (550, 66568, '2004-02-03', 3, 0.3); +insert into ratings values (550, 132390, '2001-02-24', 2, 0.5); +insert into ratings values (550, 132390, '2001-02-24', 3, 0.5); +insert into ratings values (550, 30878, '2004-01-21', 3, 1.0); +insert into ratings values (551, 364518, '2002-05-02', 2, 1.0); +insert into ratings values (551, 306466, '2001-02-27', 2, 0.2); +insert into ratings values (551, 306466, '2001-02-27', 3, 0.6); +insert into ratings values (551, 306466, '2001-02-27', 4, 0.2); +insert into ratings values (551, 160977, '2001-12-20', 3, 0.3); +insert into ratings values (551, 160977, '2001-12-20', 4, 0.4); +insert into ratings values (551, 160977, '2001-12-20', 5, 0.3); +insert into ratings values (551, 399890, '2002-02-09', 1, 0.6); +insert into ratings values (551, 399890, '2002-02-09', 2, 0.3); +insert into ratings values (551, 399890, '2002-02-09', 3, 0.1); +insert into ratings values (551, 243963, '2002-03-05', 4, 1.0); +insert into ratings values (552, 369341, '2005-02-16', 2, 0.2); +insert into ratings values (552, 369341, '2005-02-16', 3, 0.8); +insert into ratings values (552, 76196, '2001-12-27', 1, 0.4); +insert into ratings values (552, 76196, '2001-12-27', 2, 0.2); +insert into ratings values (552, 76196, '2001-12-27', 3, 0.4); +insert into ratings values (552, 92015, '2003-03-29', 3, 0.6); +insert into ratings values (552, 92015, '2003-03-29', 4, 0.4); +insert into ratings values (552, 361407, '2002-06-24', 3, 1.0); +insert into ratings values (552, 406121, '2005-05-13', 4, 0.6); +insert into ratings values (552, 406121, '2005-05-13', 5, 0.4); +insert into ratings values (553, 486272, '2004-07-03', 3, 1.0); +insert into ratings values (553, 33001, '2005-10-24', 3, 0.1); +insert into ratings values (553, 33001, '2005-10-24', 4, 0.5); +insert into ratings values (553, 33001, '2005-10-24', 5, 0.4); +insert into ratings values (553, 345673, '2005-08-10', 3, 1.0); +insert into ratings values (553, 59100, '2005-03-07', 2, 0.5); +insert into ratings values (553, 59100, '2005-03-07', 3, 0.4); +insert into ratings values (553, 59100, '2005-03-07', 4, 0.1); +insert into ratings values (553, 464031, '2001-02-08', 3, 0.8); +insert into ratings values (553, 464031, '2001-02-08', 4, 0.2); +insert into ratings values (554, 306466, '2003-07-30', 1, 0.5); +insert into ratings values (554, 306466, '2003-07-30', 2, 0.5); +insert into ratings values (554, 273292, '2005-09-12', 2, 0.2); +insert into ratings values (554, 273292, '2005-09-12', 3, 0.4); +insert into ratings values (554, 273292, '2005-09-12', 4, 0.4); +insert into ratings values (554, 105942, '2004-04-14', 4, 1.0); +insert into ratings values (554, 422881, '2005-08-01', 2, 0.5); +insert into ratings values (554, 422881, '2005-08-01', 3, 0.5); +insert into ratings values (554, 461110, '2003-06-08', 3, 0.3); +insert into ratings values (554, 461110, '2003-06-08', 4, 0.5); +insert into ratings values (554, 461110, '2003-06-08', 5, 0.2); +insert into ratings values (555, 41412, '2003-06-03', 3, 0.5); +insert into ratings values (555, 41412, '2003-06-03', 4, 0.4); +insert into ratings values (555, 41412, '2003-06-03', 5, 0.1); +insert into ratings values (555, 146200, '2004-02-22', 3, 0.2); +insert into ratings values (555, 146200, '2004-02-22', 4, 0.4); +insert into ratings values (555, 146200, '2004-02-22', 5, 0.4); +insert into ratings values (555, 160977, '2005-01-08', 4, 0.3); +insert into ratings values (555, 160977, '2005-01-08', 5, 0.7); +insert into ratings values (555, 440988, '2003-10-14', 5, 1.0); +insert into ratings values (555, 21983, '2005-07-05', 3, 0.5); +insert into ratings values (555, 21983, '2005-07-05', 4, 0.4); +insert into ratings values (555, 21983, '2005-07-05', 5, 0.1); +insert into ratings values (556, 383894, '2004-05-09', 2, 0.4); +insert into ratings values (556, 383894, '2004-05-09', 3, 0.5); +insert into ratings values (556, 383894, '2004-05-09', 4, 0.1); +insert into ratings values (556, 281396, '2004-08-18', 3, 1.0); +insert into ratings values (556, 149072, '2002-05-24', 1, 0.2); +insert into ratings values (556, 149072, '2002-05-24', 2, 0.8); +insert into ratings values (556, 238233, '2004-12-21', 4, 1.0); +insert into ratings values (556, 175468, '2005-05-04', 4, 1.0); +insert into ratings values (557, 428294, '2003-12-24', 3, 1.0); +insert into ratings values (557, 493830, '2003-11-23', 3, 1.0); +insert into ratings values (557, 404378, '2005-05-22', 3, 0.2); +insert into ratings values (557, 404378, '2005-05-22', 4, 0.6); +insert into ratings values (557, 404378, '2005-05-22', 5, 0.2); +insert into ratings values (557, 328640, '2003-06-02', 1, 1.0); +insert into ratings values (557, 248239, '2002-07-26', 1, 0.4); +insert into ratings values (557, 248239, '2002-07-26', 2, 0.5); +insert into ratings values (557, 248239, '2002-07-26', 3, 0.1); +insert into ratings values (558, 284918, '2005-08-16', 2, 0.4); +insert into ratings values (558, 284918, '2005-08-16', 3, 0.5); +insert into ratings values (558, 284918, '2005-08-16', 4, 0.1); +insert into ratings values (558, 92056, '2005-08-19', 3, 1.0); +insert into ratings values (558, 386766, '2005-08-30', 3, 1.0); +insert into ratings values (558, 176755, '2005-09-26', 1, 0.1); +insert into ratings values (558, 176755, '2005-09-26', 2, 0.6); +insert into ratings values (558, 176755, '2005-09-26', 3, 0.3); +insert into ratings values (558, 303948, '2005-06-25', 3, 0.5); +insert into ratings values (558, 303948, '2005-06-25', 4, 0.5); +insert into ratings values (559, 242428, '2004-09-29', 1, 1.0); +insert into ratings values (559, 393676, '2004-04-29', 3, 0.2); +insert into ratings values (559, 393676, '2004-04-29', 4, 0.3); +insert into ratings values (559, 393676, '2004-04-29', 5, 0.5); +insert into ratings values (559, 293461, '2005-08-09', 2, 1.0); +insert into ratings values (559, 206947, '2003-11-04', 4, 0.3); +insert into ratings values (559, 206947, '2003-11-04', 5, 0.7); +insert into ratings values (559, 226010, '2004-08-27', 4, 0.5); +insert into ratings values (559, 226010, '2004-08-27', 5, 0.5); +insert into ratings values (560, 231140, '2005-10-25', 4, 0.3); +insert into ratings values (560, 231140, '2005-10-25', 5, 0.7); +insert into ratings values (560, 48536, '2005-10-29', 2, 0.1); +insert into ratings values (560, 48536, '2005-10-29', 3, 0.5); +insert into ratings values (560, 48536, '2005-10-29', 4, 0.4); +insert into ratings values (560, 184311, '2005-09-29', 3, 0.3); +insert into ratings values (560, 184311, '2005-09-29', 4, 0.2); +insert into ratings values (560, 184311, '2005-09-29', 5, 0.5); +insert into ratings values (560, 209200, '2005-10-28', 4, 0.6); +insert into ratings values (560, 209200, '2005-10-28', 5, 0.4); +insert into ratings values (560, 255344, '2005-11-07', 5, 1.0); +insert into ratings values (561, 477388, '2000-12-27', 3, 0.3); +insert into ratings values (561, 477388, '2000-12-27', 4, 0.3); +insert into ratings values (561, 477388, '2000-12-27', 5, 0.4); +insert into ratings values (561, 449288, '2000-08-31', 3, 0.2); +insert into ratings values (561, 449288, '2000-08-31', 4, 0.3); +insert into ratings values (561, 449288, '2000-08-31', 5, 0.5); +insert into ratings values (561, 117277, '2003-12-29', 4, 0.2); +insert into ratings values (561, 117277, '2003-12-29', 5, 0.8); +insert into ratings values (561, 390508, '2005-04-21', 3, 0.7); +insert into ratings values (561, 390508, '2005-04-21', 4, 0.3); +insert into ratings values (561, 413350, '2005-05-05', 2, 0.5); +insert into ratings values (561, 413350, '2005-05-05', 3, 0.5); +insert into ratings values (562, 373450, '2005-10-07', 3, 0.2); +insert into ratings values (562, 373450, '2005-10-07', 4, 0.6); +insert into ratings values (562, 373450, '2005-10-07', 5, 0.2); +insert into ratings values (562, 8158, '2005-09-28', 1, 1.0); +insert into ratings values (562, 391325, '2005-09-26', 4, 1.0); +insert into ratings values (562, 279248, '2005-12-06', 1, 0.4); +insert into ratings values (562, 279248, '2005-12-06', 2, 0.6); +insert into ratings values (562, 224109, '2005-09-16', 1, 1.0); +insert into ratings values (563, 160977, '2003-02-28', 1, 0.6); +insert into ratings values (563, 160977, '2003-02-28', 2, 0.4); +insert into ratings values (563, 31522, '2005-08-18', 3, 0.3); +insert into ratings values (563, 31522, '2005-08-18', 4, 0.6); +insert into ratings values (563, 31522, '2005-08-18', 5, 0.1); +insert into ratings values (563, 357521, '2003-07-27', 4, 0.8); +insert into ratings values (563, 357521, '2003-07-27', 5, 0.2); +insert into ratings values (563, 395744, '2005-05-04', 3, 1.0); +insert into ratings values (563, 307049, '2005-11-01', 2, 0.3); +insert into ratings values (563, 307049, '2005-11-01', 3, 0.5); +insert into ratings values (563, 307049, '2005-11-01', 4, 0.2); +insert into ratings values (564, 306466, '2004-04-26', 1, 0.6); +insert into ratings values (564, 306466, '2004-04-26', 2, 0.4); +insert into ratings values (564, 175214, '2005-07-24', 4, 1.0); +insert into ratings values (564, 139297, '2004-02-26', 2, 1.0); +insert into ratings values (564, 394693, '2004-12-13', 3, 0.2); +insert into ratings values (564, 394693, '2004-12-13', 4, 0.8); +insert into ratings values (564, 308495, '2005-01-19', 3, 0.4); +insert into ratings values (564, 308495, '2005-01-19', 4, 0.4); +insert into ratings values (564, 308495, '2005-01-19', 5, 0.2); +insert into ratings values (565, 491623, '2005-04-17', 3, 0.5); +insert into ratings values (565, 491623, '2005-04-17', 4, 0.4); +insert into ratings values (565, 491623, '2005-04-17', 5, 0.1); +insert into ratings values (565, 145641, '2004-02-13', 3, 1.0); +insert into ratings values (565, 22709, '2004-02-25', 5, 1.0); +insert into ratings values (565, 128381, '2004-04-05', 4, 0.2); +insert into ratings values (565, 128381, '2004-04-05', 5, 0.8); +insert into ratings values (565, 233232, '2005-05-05', 3, 0.3); +insert into ratings values (565, 233232, '2005-05-05', 4, 0.4); +insert into ratings values (565, 233232, '2005-05-05', 5, 0.3); +insert into ratings values (566, 308495, '2004-10-05', 2, 0.2); +insert into ratings values (566, 308495, '2004-10-05', 3, 0.5); +insert into ratings values (566, 308495, '2004-10-05', 4, 0.3); +insert into ratings values (566, 124408, '2003-11-20', 2, 0.2); +insert into ratings values (566, 124408, '2003-11-20', 3, 0.5); +insert into ratings values (566, 124408, '2003-11-20', 4, 0.3); +insert into ratings values (566, 454801, '2004-11-30', 1, 0.3); +insert into ratings values (566, 454801, '2004-11-30', 2, 0.7); +insert into ratings values (566, 29395, '2004-01-01', 3, 0.1); +insert into ratings values (566, 29395, '2004-01-01', 4, 0.5); +insert into ratings values (566, 29395, '2004-01-01', 5, 0.4); +insert into ratings values (566, 9661, '2004-01-04', 3, 0.2); +insert into ratings values (566, 9661, '2004-01-04', 4, 0.2); +insert into ratings values (566, 9661, '2004-01-04', 5, 0.6); +insert into ratings values (567, 429281, '2005-05-06', 1, 0.2); +insert into ratings values (567, 429281, '2005-05-06', 2, 0.6); +insert into ratings values (567, 429281, '2005-05-06', 3, 0.2); +insert into ratings values (567, 415244, '2005-09-11', 3, 1.0); +insert into ratings values (567, 223697, '2005-07-26', 1, 0.3); +insert into ratings values (567, 223697, '2005-07-26', 2, 0.5); +insert into ratings values (567, 223697, '2005-07-26', 3, 0.2); +insert into ratings values (567, 49585, '2005-02-20', 2, 0.1); +insert into ratings values (567, 49585, '2005-02-20', 3, 0.5); +insert into ratings values (567, 49585, '2005-02-20', 4, 0.4); +insert into ratings values (567, 275515, '2005-09-05', 2, 0.6); +insert into ratings values (567, 275515, '2005-09-05', 3, 0.4); +insert into ratings values (568, 310856, '2005-05-24', 1, 0.4); +insert into ratings values (568, 310856, '2005-05-24', 2, 0.2); +insert into ratings values (568, 310856, '2005-05-24', 3, 0.4); +insert into ratings values (568, 21663, '2005-07-06', 2, 0.1); +insert into ratings values (568, 21663, '2005-07-06', 3, 0.4); +insert into ratings values (568, 21663, '2005-07-06', 4, 0.5); +insert into ratings values (568, 85856, '2004-06-12', 2, 0.1); +insert into ratings values (568, 85856, '2004-06-12', 3, 0.5); +insert into ratings values (568, 85856, '2004-06-12', 4, 0.4); +insert into ratings values (568, 219215, '2005-08-31', 2, 0.8); +insert into ratings values (568, 219215, '2005-08-31', 3, 0.2); +insert into ratings values (568, 394784, '2004-09-13', 2, 0.2); +insert into ratings values (568, 394784, '2004-09-13', 3, 0.4); +insert into ratings values (568, 394784, '2004-09-13', 4, 0.4); +insert into ratings values (569, 223752, '2003-06-09', 4, 0.5); +insert into ratings values (569, 223752, '2003-06-09', 5, 0.5); +insert into ratings values (569, 492722, '2005-04-23', 3, 0.2); +insert into ratings values (569, 492722, '2005-04-23', 4, 0.4); +insert into ratings values (569, 492722, '2005-04-23', 5, 0.4); +insert into ratings values (569, 325158, '2005-08-06', 3, 1.0); +insert into ratings values (569, 67315, '2003-06-03', 3, 0.2); +insert into ratings values (569, 67315, '2003-06-03', 4, 0.3); +insert into ratings values (569, 67315, '2003-06-03', 5, 0.5); +insert into ratings values (569, 184311, '2004-07-06', 3, 0.4); +insert into ratings values (569, 184311, '2004-07-06', 4, 0.1); +insert into ratings values (569, 184311, '2004-07-06', 5, 0.5); +insert into ratings values (570, 322143, '2005-07-29', 4, 0.3); +insert into ratings values (570, 322143, '2005-07-29', 5, 0.7); +insert into ratings values (570, 484675, '2003-05-29', 1, 0.3); +insert into ratings values (570, 484675, '2003-05-29', 2, 0.6); +insert into ratings values (570, 484675, '2003-05-29', 3, 0.1); +insert into ratings values (570, 209274, '2002-04-19', 3, 0.2); +insert into ratings values (570, 209274, '2002-04-19', 4, 0.2); +insert into ratings values (570, 209274, '2002-04-19', 5, 0.6); +insert into ratings values (570, 111591, '2004-02-25', 2, 1.0); +insert into ratings values (570, 246043, '2002-08-31', 1, 0.7); +insert into ratings values (570, 246043, '2002-08-31', 2, 0.3); +insert into ratings values (571, 364518, '2002-05-02', 4, 1.0); +insert into ratings values (571, 169485, '2005-07-07', 4, 0.5); +insert into ratings values (571, 169485, '2005-07-07', 5, 0.5); +insert into ratings values (571, 69867, '2001-01-09', 3, 1.0); +insert into ratings values (571, 306466, '2002-08-28', 3, 0.4); +insert into ratings values (571, 306466, '2002-08-28', 4, 0.6); +insert into ratings values (571, 254711, '2005-07-12', 3, 0.5); +insert into ratings values (571, 254711, '2005-07-12', 4, 0.1); +insert into ratings values (571, 254711, '2005-07-12', 5, 0.4); +insert into ratings values (572, 146200, '2005-02-21', 4, 0.3); +insert into ratings values (572, 146200, '2005-02-21', 5, 0.7); +insert into ratings values (572, 186951, '2003-10-21', 2, 0.3); +insert into ratings values (572, 186951, '2003-10-21', 3, 0.6); +insert into ratings values (572, 186951, '2003-10-21', 4, 0.1); +insert into ratings values (572, 441324, '2005-01-19', 3, 1.0); +insert into ratings values (572, 36209, '2003-08-18', 2, 0.1); +insert into ratings values (572, 36209, '2003-08-18', 3, 0.6); +insert into ratings values (572, 36209, '2003-08-18', 4, 0.3); +insert into ratings values (572, 403531, '2003-11-16', 1, 0.4); +insert into ratings values (572, 403531, '2003-11-16', 2, 0.5); +insert into ratings values (572, 403531, '2003-11-16', 3, 0.1); +insert into ratings values (573, 76196, '2002-02-02', 2, 0.4); +insert into ratings values (573, 76196, '2002-02-02', 3, 0.6); +insert into ratings values (573, 12451, '2005-12-19', 4, 0.6); +insert into ratings values (573, 12451, '2005-12-19', 5, 0.4); +insert into ratings values (573, 200255, '2004-08-06', 3, 0.3); +insert into ratings values (573, 200255, '2004-08-06', 4, 0.4); +insert into ratings values (573, 200255, '2004-08-06', 5, 0.3); +insert into ratings values (573, 185495, '2003-08-27', 1, 1.0); +insert into ratings values (573, 303948, '2005-09-12', 2, 0.1); +insert into ratings values (573, 303948, '2005-09-12', 3, 0.4); +insert into ratings values (573, 303948, '2005-09-12', 4, 0.5); +insert into ratings values (574, 207975, '2005-07-20', 2, 0.2); +insert into ratings values (574, 207975, '2005-07-20', 3, 0.6); +insert into ratings values (574, 207975, '2005-07-20', 4, 0.2); +insert into ratings values (574, 493082, '2005-03-10', 3, 1.0); +insert into ratings values (574, 89963, '2005-11-08', 4, 1.0); +insert into ratings values (574, 238740, '2005-06-06', 2, 0.3); +insert into ratings values (574, 238740, '2005-06-06', 3, 0.7); +insert into ratings values (574, 179873, '2005-08-10', 2, 0.3); +insert into ratings values (574, 179873, '2005-08-10', 3, 0.5); +insert into ratings values (574, 179873, '2005-08-10', 4, 0.2); +insert into ratings values (575, 139297, '2004-08-16', 4, 1.0); +insert into ratings values (575, 44317, '2005-06-23', 4, 1.0); +insert into ratings values (575, 231140, '2005-09-13', 3, 0.4); +insert into ratings values (575, 231140, '2005-09-13', 4, 0.4); +insert into ratings values (575, 231140, '2005-09-13', 5, 0.2); +insert into ratings values (575, 70976, '2004-09-25', 2, 0.2); +insert into ratings values (575, 70976, '2004-09-25', 3, 0.6); +insert into ratings values (575, 70976, '2004-09-25', 4, 0.2); +insert into ratings values (575, 264160, '2005-08-28', 3, 0.3); +insert into ratings values (575, 264160, '2005-08-28', 4, 0.7); +insert into ratings values (576, 141932, '2005-04-10', 2, 1.0); +insert into ratings values (576, 441556, '2005-10-28', 3, 0.5); +insert into ratings values (576, 441556, '2005-10-28', 4, 0.1); +insert into ratings values (576, 441556, '2005-10-28', 5, 0.4); +insert into ratings values (576, 426303, '2005-08-16', 3, 0.6); +insert into ratings values (576, 426303, '2005-08-16', 4, 0.4); +insert into ratings values (576, 459486, '2005-03-22', 3, 0.4); +insert into ratings values (576, 459486, '2005-03-22', 4, 0.5); +insert into ratings values (576, 459486, '2005-03-22', 5, 0.1); +insert into ratings values (576, 396576, '2005-12-04', 4, 1.0); +insert into ratings values (577, 198560, '2005-05-02', 4, 0.2); +insert into ratings values (577, 198560, '2005-05-02', 5, 0.8); +insert into ratings values (577, 139297, '2005-05-03', 4, 1.0); +insert into ratings values (577, 205345, '2005-09-07', 4, 0.2); +insert into ratings values (577, 205345, '2005-09-07', 5, 0.8); +insert into ratings values (577, 327122, '2005-01-24', 3, 0.2); +insert into ratings values (577, 327122, '2005-01-24', 4, 0.6); +insert into ratings values (577, 327122, '2005-01-24', 5, 0.2); +insert into ratings values (577, 264160, '2005-07-06', 4, 0.6); +insert into ratings values (577, 264160, '2005-07-06', 5, 0.4); +insert into ratings values (578, 76196, '2002-02-02', 2, 1.0); +insert into ratings values (578, 39526, '2005-04-02', 1, 0.6); +insert into ratings values (578, 39526, '2005-04-02', 2, 0.4); +insert into ratings values (578, 450581, '2005-06-10', 3, 0.5); +insert into ratings values (578, 450581, '2005-06-10', 4, 0.5); +insert into ratings values (578, 337860, '2004-01-31', 3, 1.0); +insert into ratings values (578, 234798, '2005-03-01', 2, 1.0); +insert into ratings values (579, 309337, '2005-09-17', 5, 1.0); +insert into ratings values (579, 188099, '2005-09-22', 4, 0.2); +insert into ratings values (579, 188099, '2005-09-22', 5, 0.8); +insert into ratings values (579, 295983, '2005-12-05', 4, 0.6); +insert into ratings values (579, 295983, '2005-12-05', 5, 0.4); +insert into ratings values (579, 218097, '2005-08-01', 4, 0.3); +insert into ratings values (579, 218097, '2005-08-01', 5, 0.7); +insert into ratings values (579, 12876, '2005-11-01', 3, 0.5); +insert into ratings values (579, 12876, '2005-11-01', 4, 0.1); +insert into ratings values (579, 12876, '2005-11-01', 5, 0.4); +insert into ratings values (580, 400164, '2005-07-13', 4, 1.0); +insert into ratings values (580, 185150, '2005-07-17', 1, 0.5); +insert into ratings values (580, 185150, '2005-07-17', 2, 0.5); +insert into ratings values (580, 42362, '2004-09-27', 1, 0.4); +insert into ratings values (580, 42362, '2004-09-27', 2, 0.5); +insert into ratings values (580, 42362, '2004-09-27', 3, 0.1); +insert into ratings values (580, 65353, '2005-06-07', 4, 1.0); +insert into ratings values (580, 477388, '2005-09-30', 3, 0.8); +insert into ratings values (580, 477388, '2005-09-30', 4, 0.2); +insert into ratings values (581, 305151, '2005-10-04', 2, 0.5); +insert into ratings values (581, 305151, '2005-10-04', 3, 0.5); +insert into ratings values (581, 497196, '2005-09-06', 1, 0.6); +insert into ratings values (581, 497196, '2005-09-06', 2, 0.4); +insert into ratings values (581, 51477, '2005-12-27', 2, 0.3); +insert into ratings values (581, 51477, '2005-12-27', 3, 0.5); +insert into ratings values (581, 51477, '2005-12-27', 4, 0.2); +insert into ratings values (581, 200255, '2005-09-08', 2, 0.3); +insert into ratings values (581, 200255, '2005-09-08', 3, 0.6); +insert into ratings values (581, 200255, '2005-09-08', 4, 0.1); +insert into ratings values (581, 257294, '2005-09-19', 3, 1.0); +insert into ratings values (582, 306466, '2002-09-17', 1, 0.3); +insert into ratings values (582, 306466, '2002-09-17', 2, 0.4); +insert into ratings values (582, 306466, '2002-09-17', 3, 0.3); +insert into ratings values (582, 25382, '2004-04-08', 4, 1.0); +insert into ratings values (582, 39956, '2003-10-14', 4, 0.2); +insert into ratings values (582, 39956, '2003-10-14', 5, 0.8); +insert into ratings values (582, 163546, '2003-12-15', 1, 0.1); +insert into ratings values (582, 163546, '2003-12-15', 2, 0.4); +insert into ratings values (582, 163546, '2003-12-15', 3, 0.5); +insert into ratings values (582, 305197, '2005-02-15', 2, 0.2); +insert into ratings values (582, 305197, '2005-02-15', 3, 0.6); +insert into ratings values (582, 305197, '2005-02-15', 4, 0.2); +insert into ratings values (583, 202667, '2004-11-23', 4, 0.6); +insert into ratings values (583, 202667, '2004-11-23', 5, 0.4); +insert into ratings values (583, 154203, '2005-08-16', 3, 1.0); +insert into ratings values (583, 325967, '2005-08-21', 4, 1.0); +insert into ratings values (583, 29684, '2005-02-16', 4, 0.5); +insert into ratings values (583, 29684, '2005-02-16', 5, 0.5); +insert into ratings values (583, 218238, '2005-06-27', 4, 1.0); +insert into ratings values (584, 428170, '2005-07-15', 2, 0.1); +insert into ratings values (584, 428170, '2005-07-15', 3, 0.6); +insert into ratings values (584, 428170, '2005-07-15', 4, 0.3); +insert into ratings values (584, 76196, '2002-01-24', 3, 0.4); +insert into ratings values (584, 76196, '2002-01-24', 4, 0.4); +insert into ratings values (584, 76196, '2002-01-24', 5, 0.2); +insert into ratings values (584, 499956, '2005-11-07', 2, 0.4); +insert into ratings values (584, 499956, '2005-11-07', 3, 0.6); +insert into ratings values (584, 361407, '2002-09-02', 3, 1.0); +insert into ratings values (584, 119287, '2003-09-16', 2, 0.2); +insert into ratings values (584, 119287, '2003-09-16', 3, 0.6); +insert into ratings values (584, 119287, '2003-09-16', 4, 0.2); +insert into ratings values (585, 152764, '2005-08-19', 4, 0.2); +insert into ratings values (585, 152764, '2005-08-19', 5, 0.8); +insert into ratings values (585, 353906, '2004-04-20', 3, 0.3); +insert into ratings values (585, 353906, '2004-04-20', 4, 0.6); +insert into ratings values (585, 353906, '2004-04-20', 5, 0.1); +insert into ratings values (585, 229572, '2004-07-11', 1, 0.5); +insert into ratings values (585, 229572, '2004-07-11', 2, 0.3); +insert into ratings values (585, 229572, '2004-07-11', 3, 0.2); +insert into ratings values (585, 380960, '2005-07-23', 3, 0.1); +insert into ratings values (585, 380960, '2005-07-23', 4, 0.4); +insert into ratings values (585, 380960, '2005-07-23', 5, 0.5); +insert into ratings values (585, 206735, '2004-06-01', 4, 0.8); +insert into ratings values (585, 206735, '2004-06-01', 5, 0.2); +insert into ratings values (586, 350592, '2005-07-05', 3, 1.0); +insert into ratings values (586, 364518, '2002-06-10', 4, 0.7); +insert into ratings values (586, 364518, '2002-06-10', 5, 0.3); +insert into ratings values (586, 497196, '2003-04-13', 2, 0.2); +insert into ratings values (586, 497196, '2003-04-13', 3, 0.6); +insert into ratings values (586, 497196, '2003-04-13', 4, 0.2); +insert into ratings values (586, 769, '2005-03-08', 3, 1.0); +insert into ratings values (586, 253876, '2005-05-17', 2, 0.2); +insert into ratings values (586, 253876, '2005-05-17', 3, 0.6); +insert into ratings values (586, 253876, '2005-05-17', 4, 0.2); +insert into ratings values (587, 497196, '2004-02-27', 2, 0.5); +insert into ratings values (587, 497196, '2004-02-27', 3, 0.5); +insert into ratings values (587, 279161, '2005-09-23', 3, 0.2); +insert into ratings values (587, 279161, '2005-09-23', 4, 0.4); +insert into ratings values (587, 279161, '2005-09-23', 5, 0.4); +insert into ratings values (587, 62232, '2005-09-14', 4, 1.0); +insert into ratings values (587, 402336, '2005-12-05', 4, 0.5); +insert into ratings values (587, 402336, '2005-12-05', 5, 0.5); +insert into ratings values (587, 303948, '2005-11-28', 4, 1.0); +insert into ratings values (588, 276813, '2002-01-24', 3, 1.0); +insert into ratings values (588, 66568, '2004-03-03', 4, 0.4); +insert into ratings values (588, 66568, '2004-03-03', 5, 0.6); +insert into ratings values (588, 39956, '2003-09-19', 5, 1.0); +insert into ratings values (588, 175592, '2004-10-28', 4, 0.2); +insert into ratings values (588, 175592, '2004-10-28', 5, 0.8); +insert into ratings values (588, 369430, '2005-06-16', 4, 0.2); +insert into ratings values (588, 369430, '2005-06-16', 5, 0.8); +insert into ratings values (589, 91007, '2004-05-10', 4, 0.8); +insert into ratings values (589, 91007, '2004-05-10', 5, 0.2); +insert into ratings values (589, 92056, '2005-10-01', 1, 0.5); +insert into ratings values (589, 92056, '2005-10-01', 2, 0.5); +insert into ratings values (589, 222153, '2005-07-12', 2, 0.2); +insert into ratings values (589, 222153, '2005-07-12', 3, 0.4); +insert into ratings values (589, 222153, '2005-07-12', 4, 0.4); +insert into ratings values (589, 163830, '2005-08-31', 1, 0.4); +insert into ratings values (589, 163830, '2005-08-31', 2, 0.6); +insert into ratings values (589, 104851, '2004-09-21', 1, 0.4); +insert into ratings values (589, 104851, '2004-09-21', 2, 0.3); +insert into ratings values (589, 104851, '2004-09-21', 3, 0.3); +insert into ratings values (590, 172622, '2004-01-26', 3, 1.0); +insert into ratings values (590, 243437, '2005-03-24', 3, 0.3); +insert into ratings values (590, 243437, '2005-03-24', 4, 0.7); +insert into ratings values (590, 157736, '2004-09-17', 2, 0.3); +insert into ratings values (590, 157736, '2004-09-17', 3, 0.6); +insert into ratings values (590, 157736, '2004-09-17', 4, 0.1); +insert into ratings values (590, 396331, '2005-11-01', 2, 0.2); +insert into ratings values (590, 396331, '2005-11-01', 3, 0.4); +insert into ratings values (590, 396331, '2005-11-01', 4, 0.4); +insert into ratings values (590, 355823, '2004-07-12', 4, 0.8); +insert into ratings values (590, 355823, '2004-07-12', 5, 0.2); +insert into ratings values (591, 397077, '2005-10-23', 3, 0.3); +insert into ratings values (591, 397077, '2005-10-23', 4, 0.6); +insert into ratings values (591, 397077, '2005-10-23', 5, 0.1); +insert into ratings values (591, 475351, '2005-08-09', 5, 1.0); +insert into ratings values (591, 407669, '2005-08-28', 4, 0.6); +insert into ratings values (591, 407669, '2005-08-28', 5, 0.4); +insert into ratings values (591, 360888, '2005-07-31', 1, 0.6); +insert into ratings values (591, 360888, '2005-07-31', 2, 0.4); +insert into ratings values (591, 48614, '2005-10-04', 1, 1.0); +insert into ratings values (592, 247794, '2002-09-04', 1, 0.1); +insert into ratings values (592, 247794, '2002-09-04', 2, 0.6); +insert into ratings values (592, 247794, '2002-09-04', 3, 0.3); +insert into ratings values (592, 76196, '2002-02-02', 3, 1.0); +insert into ratings values (592, 424245, '2005-07-01', 1, 0.6); +insert into ratings values (592, 424245, '2005-07-01', 2, 0.4); +insert into ratings values (592, 438503, '2004-02-02', 2, 0.4); +insert into ratings values (592, 438503, '2004-02-02', 3, 0.6); +insert into ratings values (592, 319802, '2000-01-15', 3, 1.0); +insert into ratings values (593, 169158, '2004-05-24', 4, 1.0); +insert into ratings values (593, 155342, '2003-03-30', 1, 0.5); +insert into ratings values (593, 155342, '2003-03-30', 2, 0.2); +insert into ratings values (593, 155342, '2003-03-30', 3, 0.3); +insert into ratings values (593, 277223, '2003-04-16', 1, 1.0); +insert into ratings values (593, 152436, '2003-05-15', 1, 0.6); +insert into ratings values (593, 152436, '2003-05-15', 2, 0.2); +insert into ratings values (593, 152436, '2003-05-15', 3, 0.2); +insert into ratings values (593, 410007, '2003-02-24', 3, 0.2); +insert into ratings values (593, 410007, '2003-02-24', 4, 0.2); +insert into ratings values (593, 410007, '2003-02-24', 5, 0.6); +insert into ratings values (594, 478149, '2004-08-09', 3, 1.0); +insert into ratings values (594, 193052, '2003-06-07', 2, 1.0); +insert into ratings values (594, 2442, '2003-12-06', 2, 1.0); +insert into ratings values (594, 52887, '2003-12-16', 1, 0.2); +insert into ratings values (594, 52887, '2003-12-16', 2, 0.6); +insert into ratings values (594, 52887, '2003-12-16', 3, 0.2); +insert into ratings values (594, 469461, '2004-06-10', 4, 0.2); +insert into ratings values (594, 469461, '2004-06-10', 5, 0.8); +insert into ratings values (595, 146200, '2005-02-21', 3, 0.2); +insert into ratings values (595, 146200, '2005-02-21', 4, 0.3); +insert into ratings values (595, 146200, '2005-02-21', 5, 0.5); +insert into ratings values (595, 160977, '2005-05-02', 4, 1.0); +insert into ratings values (595, 67976, '2004-11-22', 5, 1.0); +insert into ratings values (595, 299512, '2004-08-23', 4, 0.6); +insert into ratings values (595, 299512, '2004-08-23', 5, 0.4); +insert into ratings values (595, 254712, '2004-07-08', 5, 1.0); +insert into ratings values (596, 70976, '2004-02-28', 1, 0.4); +insert into ratings values (596, 70976, '2004-02-28', 2, 0.6); +insert into ratings values (596, 76196, '2001-12-27', 1, 1.0); +insert into ratings values (596, 92015, '2004-03-22', 5, 1.0); +insert into ratings values (596, 364764, '2003-01-04', 2, 0.2); +insert into ratings values (596, 364764, '2003-01-04', 3, 0.8); +insert into ratings values (596, 37188, '2004-01-17', 3, 0.7); +insert into ratings values (596, 37188, '2004-01-17', 4, 0.3); +insert into ratings values (597, 163934, '2002-11-16', 2, 0.6); +insert into ratings values (597, 163934, '2002-11-16', 3, 0.4); +insert into ratings values (597, 491331, '2005-09-04', 3, 0.3); +insert into ratings values (597, 491331, '2005-09-04', 4, 0.3); +insert into ratings values (597, 491331, '2005-09-04', 5, 0.4); +insert into ratings values (597, 49892, '2004-08-14', 2, 0.4); +insert into ratings values (597, 49892, '2004-08-14', 3, 0.4); +insert into ratings values (597, 49892, '2004-08-14', 4, 0.2); +insert into ratings values (597, 167269, '2001-07-20', 1, 0.6); +insert into ratings values (597, 167269, '2001-07-20', 2, 0.4); +insert into ratings values (597, 178860, '2005-03-25', 1, 0.3); +insert into ratings values (597, 178860, '2005-03-25', 2, 0.6); +insert into ratings values (597, 178860, '2005-03-25', 3, 0.1); +insert into ratings values (598, 243437, '2004-05-24', 4, 1.0); +insert into ratings values (598, 76196, '2002-01-24', 2, 1.0); +insert into ratings values (598, 384431, '2005-08-14', 2, 0.4); +insert into ratings values (598, 384431, '2005-08-14', 3, 0.4); +insert into ratings values (598, 384431, '2005-08-14', 4, 0.2); +insert into ratings values (598, 408167, '2004-12-31', 2, 0.1); +insert into ratings values (598, 408167, '2004-12-31', 3, 0.4); +insert into ratings values (598, 408167, '2004-12-31', 4, 0.5); +insert into ratings values (598, 301969, '2005-05-24', 3, 0.3); +insert into ratings values (598, 301969, '2005-05-24', 4, 0.6); +insert into ratings values (598, 301969, '2005-05-24', 5, 0.1); +insert into ratings values (599, 306466, '2001-09-21', 2, 0.2); +insert into ratings values (599, 306466, '2001-09-21', 3, 0.5); +insert into ratings values (599, 306466, '2001-09-21', 4, 0.3); +insert into ratings values (599, 42362, '2004-04-02', 4, 0.8); +insert into ratings values (599, 42362, '2004-04-02', 5, 0.2); +insert into ratings values (599, 426397, '2004-08-09', 5, 1.0); +insert into ratings values (599, 31458, '2005-08-23', 4, 0.4); +insert into ratings values (599, 31458, '2005-08-23', 5, 0.6); +insert into ratings values (599, 25382, '2004-04-08', 2, 0.3); +insert into ratings values (599, 25382, '2004-04-08', 3, 0.5); +insert into ratings values (599, 25382, '2004-04-08', 4, 0.2); +insert into ratings values (600, 139297, '2004-01-20', 3, 0.5); +insert into ratings values (600, 139297, '2004-01-20', 4, 0.5); +insert into ratings values (600, 233058, '2005-01-24', 4, 0.7); +insert into ratings values (600, 233058, '2005-01-24', 5, 0.3); +insert into ratings values (600, 51971, '2005-02-16', 4, 0.5); +insert into ratings values (600, 51971, '2005-02-16', 5, 0.5); +insert into ratings values (600, 14690, '2004-02-02', 2, 0.2); +insert into ratings values (600, 14690, '2004-02-02', 3, 0.8); +insert into ratings values (600, 247794, '2003-09-11', 2, 1.0); +insert into ratings values (601, 137374, '2005-06-15', 2, 0.4); +insert into ratings values (601, 137374, '2005-06-15', 3, 0.6); +insert into ratings values (601, 184544, '2004-03-28', 3, 0.6); +insert into ratings values (601, 184544, '2004-03-28', 4, 0.4); +insert into ratings values (601, 24144, '2003-08-20', 4, 0.5); +insert into ratings values (601, 24144, '2003-08-20', 5, 0.5); +insert into ratings values (601, 101142, '2004-06-21', 3, 1.0); +insert into ratings values (601, 152783, '2003-09-05', 3, 0.5); +insert into ratings values (601, 152783, '2003-09-05', 4, 0.5); +insert into ratings values (602, 370762, '2004-02-15', 3, 0.1); +insert into ratings values (602, 370762, '2004-02-15', 4, 0.5); +insert into ratings values (602, 370762, '2004-02-15', 5, 0.4); +insert into ratings values (602, 247794, '2002-08-05', 2, 1.0); +insert into ratings values (602, 215739, '2004-03-14', 2, 0.1); +insert into ratings values (602, 215739, '2004-03-14', 3, 0.6); +insert into ratings values (602, 215739, '2004-03-14', 4, 0.3); +insert into ratings values (602, 497196, '2003-04-13', 1, 0.2); +insert into ratings values (602, 497196, '2003-04-13', 2, 0.8); +insert into ratings values (602, 76196, '2002-01-24', 1, 0.4); +insert into ratings values (602, 76196, '2002-01-24', 2, 0.6); +insert into ratings values (603, 497196, '2005-05-11', 3, 1.0); +insert into ratings values (603, 85856, '2004-04-22', 3, 0.1); +insert into ratings values (603, 85856, '2004-04-22', 4, 0.6); +insert into ratings values (603, 85856, '2004-04-22', 5, 0.3); +insert into ratings values (603, 444370, '2005-09-29', 3, 0.2); +insert into ratings values (603, 444370, '2005-09-29', 4, 0.8); +insert into ratings values (603, 16355, '2004-02-10', 1, 1.0); +insert into ratings values (603, 482328, '2005-08-05', 4, 0.2); +insert into ratings values (603, 482328, '2005-08-05', 5, 0.8); +insert into ratings values (604, 47312, '2005-09-11', 2, 0.1); +insert into ratings values (604, 47312, '2005-09-11', 3, 0.6); +insert into ratings values (604, 47312, '2005-09-11', 4, 0.3); +insert into ratings values (604, 483829, '2005-10-20', 1, 0.4); +insert into ratings values (604, 483829, '2005-10-20', 2, 0.6); +insert into ratings values (604, 202678, '2005-08-22', 1, 0.6); +insert into ratings values (604, 202678, '2005-08-22', 2, 0.4); +insert into ratings values (604, 41737, '2005-11-23', 3, 0.2); +insert into ratings values (604, 41737, '2005-11-23', 4, 0.6); +insert into ratings values (604, 41737, '2005-11-23', 5, 0.2); +insert into ratings values (604, 254787, '2005-10-23', 4, 0.2); +insert into ratings values (604, 254787, '2005-10-23', 5, 0.8); +insert into ratings values (605, 69867, '2003-11-08', 2, 1.0); +insert into ratings values (605, 445828, '2003-10-23', 2, 0.3); +insert into ratings values (605, 445828, '2003-10-23', 3, 0.7); +insert into ratings values (605, 17184, '2004-02-02', 4, 0.6); +insert into ratings values (605, 17184, '2004-02-02', 5, 0.4); +insert into ratings values (605, 200499, '2005-11-09', 3, 1.0); +insert into ratings values (605, 484177, '2004-10-18', 3, 0.4); +insert into ratings values (605, 484177, '2004-10-18', 4, 0.6); +insert into ratings values (606, 115498, '2001-12-26', 3, 1.0); +insert into ratings values (606, 76196, '2001-12-14', 1, 1.0); +insert into ratings values (606, 317060, '2005-04-03', 3, 0.4); +insert into ratings values (606, 317060, '2005-04-03', 4, 0.5); +insert into ratings values (606, 317060, '2005-04-03', 5, 0.1); +insert into ratings values (606, 13334, '2005-11-30', 3, 1.0); +insert into ratings values (606, 403531, '2003-11-16', 4, 0.2); +insert into ratings values (606, 403531, '2003-11-16', 5, 0.8); +insert into ratings values (607, 169485, '2005-07-05', 5, 1.0); +insert into ratings values (607, 496476, '2005-07-05', 2, 0.1); +insert into ratings values (607, 496476, '2005-07-05', 3, 0.6); +insert into ratings values (607, 496476, '2005-07-05', 4, 0.3); +insert into ratings values (607, 364518, '2002-05-02', 2, 0.8); +insert into ratings values (607, 364518, '2002-05-02', 3, 0.2); +insert into ratings values (607, 53679, '2005-07-08', 3, 0.3); +insert into ratings values (607, 53679, '2005-07-08', 4, 0.7); +insert into ratings values (607, 69867, '2001-01-02', 4, 1.0); +insert into ratings values (608, 217056, '2005-12-01', 1, 1.0); +insert into ratings values (608, 324403, '2000-09-14', 1, 0.5); +insert into ratings values (608, 324403, '2000-09-14', 2, 0.4); +insert into ratings values (608, 324403, '2000-09-14', 3, 0.1); +insert into ratings values (608, 274313, '2005-08-03', 3, 0.4); +insert into ratings values (608, 274313, '2005-08-03', 4, 0.6); +insert into ratings values (608, 168576, '2005-11-21', 1, 0.6); +insert into ratings values (608, 168576, '2005-11-21', 2, 0.2); +insert into ratings values (608, 168576, '2005-11-21', 3, 0.2); +insert into ratings values (608, 315168, '2005-11-14', 4, 0.3); +insert into ratings values (608, 315168, '2005-11-14', 5, 0.7); +insert into ratings values (609, 329896, '2005-12-14', 3, 0.1); +insert into ratings values (609, 329896, '2005-12-14', 4, 0.5); +insert into ratings values (609, 329896, '2005-12-14', 5, 0.4); +insert into ratings values (609, 92056, '2005-08-09', 3, 1.0); +insert into ratings values (609, 223183, '2005-03-16', 4, 0.5); +insert into ratings values (609, 223183, '2005-03-16', 5, 0.5); +insert into ratings values (609, 88542, '2005-10-06', 2, 0.2); +insert into ratings values (609, 88542, '2005-10-06', 3, 0.4); +insert into ratings values (609, 88542, '2005-10-06', 4, 0.4); +insert into ratings values (609, 403531, '2005-11-01', 5, 1.0); +insert into ratings values (610, 155342, '2003-03-24', 2, 1.0); +insert into ratings values (610, 188570, '2004-12-18', 3, 0.3); +insert into ratings values (610, 188570, '2004-12-18', 4, 0.5); +insert into ratings values (610, 188570, '2004-12-18', 5, 0.2); +insert into ratings values (610, 147653, '2002-03-21', 1, 0.6); +insert into ratings values (610, 147653, '2002-03-21', 2, 0.1); +insert into ratings values (610, 147653, '2002-03-21', 3, 0.3); +insert into ratings values (610, 291676, '2002-01-17', 3, 0.6); +insert into ratings values (610, 291676, '2002-01-17', 4, 0.4); +insert into ratings values (610, 202678, '2002-08-12', 1, 0.6); +insert into ratings values (610, 202678, '2002-08-12', 2, 0.4); +insert into ratings values (611, 249052, '2004-11-08', 4, 1.0); +insert into ratings values (611, 403531, '2005-03-08', 4, 0.7); +insert into ratings values (611, 403531, '2005-03-08', 5, 0.3); +insert into ratings values (611, 21157, '2004-11-11', 2, 0.3); +insert into ratings values (611, 21157, '2004-11-11', 3, 0.4); +insert into ratings values (611, 21157, '2004-11-11', 4, 0.3); +insert into ratings values (611, 235789, '2004-10-27', 2, 1.0); +insert into ratings values (611, 488116, '2004-11-03', 1, 0.6); +insert into ratings values (611, 488116, '2004-11-03', 2, 0.4); +insert into ratings values (612, 243914, '2004-10-02', 1, 0.5); +insert into ratings values (612, 243914, '2004-10-02', 2, 0.5); +insert into ratings values (612, 499718, '2004-12-20', 2, 0.1); +insert into ratings values (612, 499718, '2004-12-20', 3, 0.6); +insert into ratings values (612, 499718, '2004-12-20', 4, 0.3); +insert into ratings values (612, 202667, '2004-05-04', 4, 0.4); +insert into ratings values (612, 202667, '2004-05-04', 5, 0.6); +insert into ratings values (612, 288365, '2003-10-12', 1, 0.3); +insert into ratings values (612, 288365, '2003-10-12', 2, 0.7); +insert into ratings values (612, 80683, '2003-05-27', 2, 0.1); +insert into ratings values (612, 80683, '2003-05-27', 3, 0.5); +insert into ratings values (612, 80683, '2003-05-27', 4, 0.4); +insert into ratings values (613, 160977, '2004-04-30', 2, 0.2); +insert into ratings values (613, 160977, '2004-04-30', 3, 0.5); +insert into ratings values (613, 160977, '2004-04-30', 4, 0.3); +insert into ratings values (613, 46036, '2004-05-10', 1, 0.3); +insert into ratings values (613, 46036, '2004-05-10', 2, 0.5); +insert into ratings values (613, 46036, '2004-05-10', 3, 0.2); +insert into ratings values (613, 209200, '2005-01-28', 4, 1.0); +insert into ratings values (613, 231110, '2005-03-16', 1, 1.0); +insert into ratings values (613, 109089, '2004-04-30', 3, 1.0); +insert into ratings values (614, 136784, '2005-06-25', 1, 1.0); +insert into ratings values (614, 480337, '2005-11-25', 2, 1.0); +insert into ratings values (614, 463712, '2005-12-09', 4, 0.2); +insert into ratings values (614, 463712, '2005-12-09', 5, 0.8); +insert into ratings values (614, 474700, '2005-07-12', 4, 1.0); +insert into ratings values (614, 332923, '2005-07-31', 2, 0.5); +insert into ratings values (614, 332923, '2005-07-31', 3, 0.5); +insert into ratings values (615, 306466, '2003-09-19', 3, 1.0); +insert into ratings values (615, 239716, '2004-06-08', 2, 0.6); +insert into ratings values (615, 239716, '2004-06-08', 3, 0.4); +insert into ratings values (615, 383894, '2005-01-05', 4, 0.5); +insert into ratings values (615, 383894, '2005-01-05', 5, 0.5); +insert into ratings values (615, 464095, '2005-01-12', 2, 0.5); +insert into ratings values (615, 464095, '2005-01-12', 3, 0.5); +insert into ratings values (615, 176006, '2005-01-24', 2, 0.1); +insert into ratings values (615, 176006, '2005-01-24', 3, 0.4); +insert into ratings values (615, 176006, '2005-01-24', 4, 0.5); +insert into ratings values (616, 303948, '2005-11-28', 3, 0.4); +insert into ratings values (616, 303948, '2005-11-28', 4, 0.6); +insert into ratings values (616, 389017, '2005-12-21', 3, 0.4); +insert into ratings values (616, 389017, '2005-12-21', 4, 0.6); +insert into ratings values (616, 178860, '2005-11-10', 2, 0.6); +insert into ratings values (616, 178860, '2005-11-10', 3, 0.4); +insert into ratings values (616, 407037, '2005-12-20', 5, 1.0); +insert into ratings values (616, 56854, '2005-10-21', 3, 1.0); +insert into ratings values (617, 108392, '2005-11-07', 3, 1.0); +insert into ratings values (617, 270272, '2005-10-20', 2, 0.7); +insert into ratings values (617, 270272, '2005-10-20', 3, 0.3); +insert into ratings values (617, 77550, '2005-01-26', 3, 0.5); +insert into ratings values (617, 77550, '2005-01-26', 4, 0.4); +insert into ratings values (617, 77550, '2005-01-26', 5, 0.1); +insert into ratings values (617, 12669, '2005-09-16', 4, 0.5); +insert into ratings values (617, 12669, '2005-09-16', 5, 0.5); +insert into ratings values (617, 17246, '2005-08-05', 4, 0.3); +insert into ratings values (617, 17246, '2005-08-05', 5, 0.7); +insert into ratings values (618, 481668, '2005-08-07', 1, 0.1); +insert into ratings values (618, 481668, '2005-08-07', 2, 0.5); +insert into ratings values (618, 481668, '2005-08-07', 3, 0.4); +insert into ratings values (618, 24344, '2005-08-08', 2, 0.6); +insert into ratings values (618, 24344, '2005-08-08', 3, 0.4); +insert into ratings values (618, 365554, '2005-08-02', 1, 0.4); +insert into ratings values (618, 365554, '2005-08-02', 2, 0.4); +insert into ratings values (618, 365554, '2005-08-02', 3, 0.2); +insert into ratings values (618, 303948, '2005-07-21', 2, 0.1); +insert into ratings values (618, 303948, '2005-07-21', 3, 0.5); +insert into ratings values (618, 303948, '2005-07-21', 4, 0.4); +insert into ratings values (618, 350166, '2005-07-15', 1, 0.3); +insert into ratings values (618, 350166, '2005-07-15', 2, 0.5); +insert into ratings values (618, 350166, '2005-07-15', 3, 0.2); +insert into ratings values (619, 264160, '2005-08-28', 3, 0.2); +insert into ratings values (619, 264160, '2005-08-28', 4, 0.6); +insert into ratings values (619, 264160, '2005-08-28', 5, 0.2); +insert into ratings values (619, 222153, '2005-09-09', 3, 1.0); +insert into ratings values (619, 333510, '2005-08-13', 1, 0.3); +insert into ratings values (619, 333510, '2005-08-13', 2, 0.7); +insert into ratings values (619, 300074, '2005-07-09', 1, 0.4); +insert into ratings values (619, 300074, '2005-07-09', 2, 0.3); +insert into ratings values (619, 300074, '2005-07-09', 3, 0.3); +insert into ratings values (619, 86365, '2005-09-04', 4, 0.5); +insert into ratings values (619, 86365, '2005-09-04', 5, 0.5); +insert into ratings values (620, 92056, '2005-08-09', 4, 1.0); +insert into ratings values (620, 259713, '2004-09-22', 4, 0.2); +insert into ratings values (620, 259713, '2004-09-22', 5, 0.8); +insert into ratings values (620, 322178, '2005-03-17', 1, 0.6); +insert into ratings values (620, 322178, '2005-03-17', 2, 0.1); +insert into ratings values (620, 322178, '2005-03-17', 3, 0.3); +insert into ratings values (620, 293151, '2004-03-09', 2, 0.3); +insert into ratings values (620, 293151, '2004-03-09', 3, 0.7); +insert into ratings values (620, 341850, '2005-02-28', 3, 1.0); +insert into ratings values (621, 69867, '2001-01-02', 2, 1.0); +insert into ratings values (621, 306466, '2001-02-27', 2, 1.0); +insert into ratings values (621, 276813, '2000-12-31', 5, 1.0); +insert into ratings values (621, 132390, '2001-02-24', 3, 0.1); +insert into ratings values (621, 132390, '2001-02-24', 4, 0.4); +insert into ratings values (621, 132390, '2001-02-24', 5, 0.5); +insert into ratings values (621, 347081, '2005-07-18', 3, 0.3); +insert into ratings values (621, 347081, '2005-07-18', 4, 0.1); +insert into ratings values (621, 347081, '2005-07-18', 5, 0.6); +insert into ratings values (622, 413603, '2003-03-04', 1, 0.7); +insert into ratings values (622, 413603, '2003-03-04', 2, 0.3); +insert into ratings values (622, 289162, '2003-10-27', 3, 0.6); +insert into ratings values (622, 289162, '2003-10-27', 4, 0.4); +insert into ratings values (622, 27200, '2004-09-20', 4, 1.0); +insert into ratings values (622, 447339, '2004-10-22', 3, 0.2); +insert into ratings values (622, 447339, '2004-10-22', 4, 0.8); +insert into ratings values (622, 155342, '2003-04-17', 1, 0.7); +insert into ratings values (622, 155342, '2003-04-17', 2, 0.3); +insert into ratings values (623, 403531, '2005-07-22', 4, 0.2); +insert into ratings values (623, 403531, '2005-07-22', 5, 0.8); +insert into ratings values (623, 281396, '2004-10-03', 3, 0.8); +insert into ratings values (623, 281396, '2004-10-03', 4, 0.2); +insert into ratings values (623, 157521, '2005-04-08', 4, 0.5); +insert into ratings values (623, 157521, '2005-04-08', 5, 0.5); +insert into ratings values (623, 298900, '2003-03-12', 3, 0.8); +insert into ratings values (623, 298900, '2003-03-12', 4, 0.2); +insert into ratings values (623, 39526, '2004-11-28', 3, 0.3); +insert into ratings values (623, 39526, '2004-11-28', 4, 0.5); +insert into ratings values (623, 39526, '2004-11-28', 5, 0.2); +insert into ratings values (624, 32720, '2005-09-25', 2, 0.5); +insert into ratings values (624, 32720, '2005-09-25', 3, 0.5); +insert into ratings values (624, 203006, '2005-07-21', 2, 0.4); +insert into ratings values (624, 203006, '2005-07-21', 3, 0.4); +insert into ratings values (624, 203006, '2005-07-21', 4, 0.2); +insert into ratings values (624, 127513, '2005-07-30', 2, 0.1); +insert into ratings values (624, 127513, '2005-07-30', 3, 0.6); +insert into ratings values (624, 127513, '2005-07-30', 4, 0.3); +insert into ratings values (624, 229572, '2005-10-06', 3, 0.3); +insert into ratings values (624, 229572, '2005-10-06', 4, 0.7); +insert into ratings values (624, 458514, '2005-10-08', 4, 0.4); +insert into ratings values (624, 458514, '2005-10-08', 5, 0.6); +insert into ratings values (625, 267534, '2004-08-02', 1, 0.5); +insert into ratings values (625, 267534, '2004-08-02', 2, 0.5); +insert into ratings values (625, 461163, '2004-11-11', 1, 1.0); +insert into ratings values (625, 455628, '2004-08-10', 1, 1.0); +insert into ratings values (625, 495813, '2004-03-17', 1, 1.0); +insert into ratings values (625, 473516, '2004-04-14', 2, 0.4); +insert into ratings values (625, 473516, '2004-04-14', 3, 0.6); +insert into ratings values (626, 41412, '2005-04-30', 3, 0.5); +insert into ratings values (626, 41412, '2005-04-30', 4, 0.5); +insert into ratings values (626, 145212, '2005-04-28', 4, 1.0); +insert into ratings values (626, 322178, '2005-06-24', 2, 0.3); +insert into ratings values (626, 322178, '2005-06-24', 3, 0.7); +insert into ratings values (626, 283486, '2005-06-01', 3, 0.2); +insert into ratings values (626, 283486, '2005-06-01', 4, 0.8); +insert into ratings values (626, 290215, '2005-04-25', 2, 0.3); +insert into ratings values (626, 290215, '2005-04-25', 3, 0.6); +insert into ratings values (626, 290215, '2005-04-25', 4, 0.1); +insert into ratings values (627, 335351, '2004-04-05', 2, 0.2); +insert into ratings values (627, 335351, '2004-04-05', 3, 0.4); +insert into ratings values (627, 335351, '2004-04-05', 4, 0.4); +insert into ratings values (627, 232257, '2003-06-23', 3, 0.3); +insert into ratings values (627, 232257, '2003-06-23', 4, 0.6); +insert into ratings values (627, 232257, '2003-06-23', 5, 0.1); +insert into ratings values (627, 428568, '2005-04-06', 5, 1.0); +insert into ratings values (627, 179461, '2003-11-18', 1, 0.5); +insert into ratings values (627, 179461, '2003-11-18', 2, 0.5); +insert into ratings values (627, 405604, '2004-03-29', 2, 0.7); +insert into ratings values (627, 405604, '2004-03-29', 3, 0.3); +insert into ratings values (628, 446953, '2004-02-03', 4, 1.0); +insert into ratings values (628, 466063, '2005-07-20', 2, 0.2); +insert into ratings values (628, 466063, '2005-07-20', 3, 0.5); +insert into ratings values (628, 466063, '2005-07-20', 4, 0.3); +insert into ratings values (628, 286506, '2005-11-16', 5, 1.0); +insert into ratings values (628, 221162, '2005-10-10', 3, 0.4); +insert into ratings values (628, 221162, '2005-10-10', 4, 0.4); +insert into ratings values (628, 221162, '2005-10-10', 5, 0.2); +insert into ratings values (628, 180689, '2004-02-23', 4, 0.5); +insert into ratings values (628, 180689, '2004-02-23', 5, 0.5); +insert into ratings values (629, 30878, '2004-07-20', 5, 1.0); +insert into ratings values (629, 175214, '2005-08-04', 3, 0.5); +insert into ratings values (629, 175214, '2005-08-04', 4, 0.5); +insert into ratings values (629, 426397, '2004-09-04', 3, 0.1); +insert into ratings values (629, 426397, '2004-09-04', 4, 0.4); +insert into ratings values (629, 426397, '2004-09-04', 5, 0.5); +insert into ratings values (629, 25382, '2004-09-06', 3, 1.0); +insert into ratings values (629, 439931, '2004-07-31', 4, 0.4); +insert into ratings values (629, 439931, '2004-07-31', 5, 0.6); +insert into ratings values (630, 441324, '2005-01-28', 2, 0.6); +insert into ratings values (630, 441324, '2005-01-28', 3, 0.4); +insert into ratings values (630, 393262, '2004-03-31', 2, 0.4); +insert into ratings values (630, 393262, '2004-03-31', 3, 0.5); +insert into ratings values (630, 393262, '2004-03-31', 4, 0.1); +insert into ratings values (630, 47411, '2005-01-19', 1, 0.5); +insert into ratings values (630, 47411, '2005-01-19', 2, 0.5); +insert into ratings values (630, 403583, '2005-06-25', 4, 0.2); +insert into ratings values (630, 403583, '2005-06-25', 5, 0.8); +insert into ratings values (630, 262411, '2003-10-28', 3, 0.7); +insert into ratings values (630, 262411, '2003-10-28', 4, 0.3); +insert into ratings values (631, 308495, '2005-06-09', 4, 0.6); +insert into ratings values (631, 308495, '2005-06-09', 5, 0.4); +insert into ratings values (631, 263315, '2005-10-17', 3, 0.3); +insert into ratings values (631, 263315, '2005-10-17', 4, 0.4); +insert into ratings values (631, 263315, '2005-10-17', 5, 0.3); +insert into ratings values (631, 115293, '2005-10-22', 5, 1.0); +insert into ratings values (631, 343376, '2005-10-29', 2, 0.3); +insert into ratings values (631, 343376, '2005-10-29', 3, 0.4); +insert into ratings values (631, 343376, '2005-10-29', 4, 0.3); +insert into ratings values (631, 471426, '2005-10-29', 3, 0.8); +insert into ratings values (631, 471426, '2005-10-29', 4, 0.2); +insert into ratings values (632, 247794, '2003-05-21', 3, 1.0); +insert into ratings values (632, 76196, '2002-01-24', 1, 0.3); +insert into ratings values (632, 76196, '2002-01-24', 2, 0.7); +insert into ratings values (632, 419746, '2003-06-02', 4, 0.7); +insert into ratings values (632, 419746, '2003-06-02', 5, 0.3); +insert into ratings values (632, 303948, '2005-11-28', 2, 0.4); +insert into ratings values (632, 303948, '2005-11-28', 3, 0.6); +insert into ratings values (632, 8372, '2004-04-18', 4, 1.0); +insert into ratings values (633, 204280, '2005-07-18', 4, 1.0); +insert into ratings values (633, 345673, '2005-08-10', 2, 0.5); +insert into ratings values (633, 345673, '2005-08-10', 3, 0.5); +insert into ratings values (633, 1333, '2005-05-31', 3, 1.0); +insert into ratings values (633, 166043, '2004-07-27', 3, 0.6); +insert into ratings values (633, 166043, '2004-07-27', 4, 0.4); +insert into ratings values (633, 59100, '2005-04-18', 2, 0.3); +insert into ratings values (633, 59100, '2005-04-18', 3, 0.7); +insert into ratings values (634, 147938, '2003-12-19', 4, 0.6); +insert into ratings values (634, 147938, '2003-12-19', 5, 0.4); +insert into ratings values (634, 301176, '2004-02-05', 3, 1.0); +insert into ratings values (634, 481668, '2005-06-28', 3, 0.6); +insert into ratings values (634, 481668, '2005-06-28', 4, 0.4); +insert into ratings values (634, 423815, '2003-12-30', 2, 1.0); +insert into ratings values (634, 37188, '2004-01-17', 2, 0.2); +insert into ratings values (634, 37188, '2004-01-17', 3, 0.5); +insert into ratings values (634, 37188, '2004-01-17', 4, 0.3); +insert into ratings values (635, 335351, '2004-04-29', 2, 0.6); +insert into ratings values (635, 335351, '2004-04-29', 3, 0.4); +insert into ratings values (635, 173048, '2003-08-10', 1, 1.0); +insert into ratings values (635, 405604, '2003-07-18', 3, 1.0); +insert into ratings values (635, 477387, '2003-06-12', 3, 0.3); +insert into ratings values (635, 477387, '2003-06-12', 4, 0.4); +insert into ratings values (635, 477387, '2003-06-12', 5, 0.3); +insert into ratings values (635, 217082, '2004-11-04', 3, 1.0); +insert into ratings values (636, 306466, '2002-08-28', 1, 0.1); +insert into ratings values (636, 306466, '2002-08-28', 2, 0.6); +insert into ratings values (636, 306466, '2002-08-28', 3, 0.3); +insert into ratings values (636, 41412, '2002-10-09', 2, 0.2); +insert into ratings values (636, 41412, '2002-10-09', 3, 0.8); +insert into ratings values (636, 30878, '2004-02-02', 2, 0.5); +insert into ratings values (636, 30878, '2004-02-02', 3, 0.5); +insert into ratings values (636, 395744, '2005-08-13', 3, 1.0); +insert into ratings values (636, 25382, '2004-05-16', 2, 0.2); +insert into ratings values (636, 25382, '2004-05-16', 3, 0.6); +insert into ratings values (636, 25382, '2004-05-16', 4, 0.2); +insert into ratings values (637, 259694, '2003-09-16', 4, 0.7); +insert into ratings values (637, 259694, '2003-09-16', 5, 0.3); +insert into ratings values (637, 488477, '2004-10-27', 4, 1.0); +insert into ratings values (637, 482592, '2005-09-17', 3, 0.1); +insert into ratings values (637, 482592, '2005-09-17', 4, 0.6); +insert into ratings values (637, 482592, '2005-09-17', 5, 0.3); +insert into ratings values (637, 381289, '2004-04-02', 4, 1.0); +insert into ratings values (637, 262204, '2004-09-15', 3, 0.6); +insert into ratings values (637, 262204, '2004-09-15', 4, 0.4); +insert into ratings values (638, 306466, '2002-01-12', 3, 1.0); +insert into ratings values (638, 175214, '2005-07-24', 4, 0.8); +insert into ratings values (638, 175214, '2005-07-24', 5, 0.2); +insert into ratings values (638, 327122, '2003-07-11', 1, 1.0); +insert into ratings values (638, 329839, '2004-11-03', 3, 0.5); +insert into ratings values (638, 329839, '2004-11-03', 4, 0.4); +insert into ratings values (638, 329839, '2004-11-03', 5, 0.1); +insert into ratings values (638, 461110, '2004-11-08', 3, 0.4); +insert into ratings values (638, 461110, '2004-11-08', 4, 0.2); +insert into ratings values (638, 461110, '2004-11-08', 5, 0.4); +insert into ratings values (639, 440789, '2005-03-23', 4, 0.6); +insert into ratings values (639, 440789, '2005-03-23', 5, 0.4); +insert into ratings values (639, 250162, '2004-09-03', 3, 0.1); +insert into ratings values (639, 250162, '2004-09-03', 4, 0.4); +insert into ratings values (639, 250162, '2004-09-03', 5, 0.5); +insert into ratings values (639, 266429, '2005-03-29', 1, 0.3); +insert into ratings values (639, 266429, '2005-03-29', 2, 0.4); +insert into ratings values (639, 266429, '2005-03-29', 3, 0.3); +insert into ratings values (639, 258540, '2004-11-01', 3, 1.0); +insert into ratings values (639, 145941, '2005-11-20', 3, 0.5); +insert into ratings values (639, 145941, '2005-11-20', 4, 0.5); +insert into ratings values (640, 76196, '2002-01-24', 3, 1.0); +insert into ratings values (640, 443034, '2005-11-06', 3, 1.0); +insert into ratings values (640, 71390, '2005-01-19', 3, 0.4); +insert into ratings values (640, 71390, '2005-01-19', 4, 0.6); +insert into ratings values (640, 152178, '2004-01-15', 4, 1.0); +insert into ratings values (640, 306199, '2004-01-20', 1, 0.3); +insert into ratings values (640, 306199, '2004-01-20', 2, 0.6); +insert into ratings values (640, 306199, '2004-01-20', 3, 0.1); +insert into ratings values (641, 432536, '2005-02-17', 3, 1.0); +insert into ratings values (641, 360830, '2005-04-29', 3, 1.0); +insert into ratings values (641, 276860, '2005-11-29', 1, 0.1); +insert into ratings values (641, 276860, '2005-11-29', 2, 0.5); +insert into ratings values (641, 276860, '2005-11-29', 3, 0.4); +insert into ratings values (641, 61274, '2005-04-18', 3, 0.4); +insert into ratings values (641, 61274, '2005-04-18', 4, 0.2); +insert into ratings values (641, 61274, '2005-04-18', 5, 0.4); +insert into ratings values (641, 41371, '2005-06-09', 3, 1.0); +insert into ratings values (642, 46036, '2004-05-03', 3, 0.8); +insert into ratings values (642, 46036, '2004-05-03', 4, 0.2); +insert into ratings values (642, 171039, '2004-07-13', 3, 1.0); +insert into ratings values (642, 393262, '2005-10-04', 4, 0.8); +insert into ratings values (642, 393262, '2005-10-04', 5, 0.2); +insert into ratings values (642, 338289, '2005-07-04', 3, 0.2); +insert into ratings values (642, 338289, '2005-07-04', 4, 0.3); +insert into ratings values (642, 338289, '2005-07-04', 5, 0.5); +insert into ratings values (642, 482889, '2005-02-02', 5, 1.0); +insert into ratings values (643, 183907, '2005-07-21', 2, 0.2); +insert into ratings values (643, 183907, '2005-07-21', 3, 0.5); +insert into ratings values (643, 183907, '2005-07-21', 4, 0.3); +insert into ratings values (643, 442739, '2005-01-05', 2, 0.2); +insert into ratings values (643, 442739, '2005-01-05', 3, 0.6); +insert into ratings values (643, 442739, '2005-01-05', 4, 0.2); +insert into ratings values (643, 63170, '2004-05-31', 2, 0.4); +insert into ratings values (643, 63170, '2004-05-31', 3, 0.6); +insert into ratings values (643, 434878, '2003-01-25', 3, 1.0); +insert into ratings values (643, 461110, '2005-06-07', 2, 0.5); +insert into ratings values (643, 461110, '2005-06-07', 3, 0.4); +insert into ratings values (643, 461110, '2005-06-07', 4, 0.1); +insert into ratings values (644, 41412, '2001-10-17', 3, 0.5); +insert into ratings values (644, 41412, '2001-10-17', 4, 0.5); +insert into ratings values (644, 76196, '2002-02-02', 1, 0.3); +insert into ratings values (644, 76196, '2002-02-02', 2, 0.7); +insert into ratings values (644, 485382, '2002-11-24', 3, 0.2); +insert into ratings values (644, 485382, '2002-11-24', 4, 0.5); +insert into ratings values (644, 485382, '2002-11-24', 5, 0.3); +insert into ratings values (644, 253214, '2005-04-27', 3, 0.3); +insert into ratings values (644, 253214, '2005-04-27', 4, 0.2); +insert into ratings values (644, 253214, '2005-04-27', 5, 0.5); +insert into ratings values (644, 61472, '2003-09-13', 2, 0.5); +insert into ratings values (644, 61472, '2003-09-13', 3, 0.5); +insert into ratings values (645, 320950, '2005-08-05', 3, 0.2); +insert into ratings values (645, 320950, '2005-08-05', 4, 0.6); +insert into ratings values (645, 320950, '2005-08-05', 5, 0.2); +insert into ratings values (645, 449288, '2005-09-02', 3, 1.0); +insert into ratings values (645, 192880, '2005-09-21', 2, 1.0); +insert into ratings values (645, 403656, '2005-09-29', 3, 1.0); +insert into ratings values (645, 386143, '2005-11-20', 4, 0.6); +insert into ratings values (645, 386143, '2005-11-20', 5, 0.4); +insert into ratings values (646, 449288, '2005-07-15', 3, 0.2); +insert into ratings values (646, 449288, '2005-07-15', 4, 0.6); +insert into ratings values (646, 449288, '2005-07-15', 5, 0.2); +insert into ratings values (646, 141932, '2005-03-08', 3, 0.2); +insert into ratings values (646, 141932, '2005-03-08', 4, 0.3); +insert into ratings values (646, 141932, '2005-03-08', 5, 0.5); +insert into ratings values (646, 66358, '2005-04-13', 4, 1.0); +insert into ratings values (646, 341804, '2004-05-04', 3, 0.2); +insert into ratings values (646, 341804, '2004-05-04', 4, 0.8); +insert into ratings values (646, 439072, '2004-02-20', 4, 0.2); +insert into ratings values (646, 439072, '2004-02-20', 5, 0.8); +insert into ratings values (647, 441324, '2005-01-19', 2, 0.2); +insert into ratings values (647, 441324, '2005-01-19', 3, 0.5); +insert into ratings values (647, 441324, '2005-01-19', 4, 0.3); +insert into ratings values (647, 13334, '2005-12-12', 2, 0.2); +insert into ratings values (647, 13334, '2005-12-12', 3, 0.6); +insert into ratings values (647, 13334, '2005-12-12', 4, 0.2); +insert into ratings values (647, 71148, '2004-10-15', 3, 0.4); +insert into ratings values (647, 71148, '2004-10-15', 4, 0.6); +insert into ratings values (647, 331716, '2004-12-18', 3, 1.0); +insert into ratings values (647, 303948, '2005-07-20', 3, 0.5); +insert into ratings values (647, 303948, '2005-07-20', 4, 0.5); +insert into ratings values (648, 66358, '2004-11-22', 2, 0.2); +insert into ratings values (648, 66358, '2004-11-22', 3, 0.4); +insert into ratings values (648, 66358, '2004-11-22', 4, 0.4); +insert into ratings values (648, 251535, '2005-01-31', 3, 0.2); +insert into ratings values (648, 251535, '2005-01-31', 4, 0.6); +insert into ratings values (648, 251535, '2005-01-31', 5, 0.2); +insert into ratings values (648, 290215, '2004-12-05', 2, 0.2); +insert into ratings values (648, 290215, '2004-12-05', 3, 0.6); +insert into ratings values (648, 290215, '2004-12-05', 4, 0.2); +insert into ratings values (648, 240214, '2004-08-18', 2, 0.2); +insert into ratings values (648, 240214, '2004-08-18', 3, 0.5); +insert into ratings values (648, 240214, '2004-08-18', 4, 0.3); +insert into ratings values (648, 314083, '2005-11-25', 4, 1.0); +insert into ratings values (649, 76196, '2002-01-09', 1, 1.0); +insert into ratings values (649, 219059, '2002-01-11', 1, 0.5); +insert into ratings values (649, 219059, '2002-01-11', 2, 0.4); +insert into ratings values (649, 219059, '2002-01-11', 3, 0.1); +insert into ratings values (649, 284660, '2005-10-11', 3, 0.2); +insert into ratings values (649, 284660, '2005-10-11', 4, 0.4); +insert into ratings values (649, 284660, '2005-10-11', 5, 0.4); +insert into ratings values (649, 330802, '2001-08-03', 1, 0.6); +insert into ratings values (649, 330802, '2001-08-03', 2, 0.1); +insert into ratings values (649, 330802, '2001-08-03', 3, 0.3); +insert into ratings values (649, 389254, '2004-01-14', 1, 0.6); +insert into ratings values (649, 389254, '2004-01-14', 2, 0.2); +insert into ratings values (649, 389254, '2004-01-14', 3, 0.2); +insert into ratings values (650, 247794, '2004-12-22', 1, 0.6); +insert into ratings values (650, 247794, '2004-12-22', 2, 0.1); +insert into ratings values (650, 247794, '2004-12-22', 3, 0.3); +insert into ratings values (650, 403531, '2005-09-11', 4, 0.5); +insert into ratings values (650, 403531, '2005-09-11', 5, 0.5); +insert into ratings values (650, 21663, '2005-08-17', 1, 0.5); +insert into ratings values (650, 21663, '2005-08-17', 2, 0.5); +insert into ratings values (650, 333277, '2002-10-28', 2, 1.0); +insert into ratings values (650, 119496, '2005-09-06', 3, 1.0); +insert into ratings values (651, 427928, '2003-11-11', 3, 1.0); +insert into ratings values (651, 146650, '2005-04-30', 3, 0.1); +insert into ratings values (651, 146650, '2005-04-30', 4, 0.5); +insert into ratings values (651, 146650, '2005-04-30', 5, 0.4); +insert into ratings values (651, 486399, '2000-01-05', 3, 1.0); +insert into ratings values (651, 255626, '2000-09-12', 3, 0.3); +insert into ratings values (651, 255626, '2000-09-12', 4, 0.6); +insert into ratings values (651, 255626, '2000-09-12', 5, 0.1); +insert into ratings values (651, 227694, '2003-10-15', 2, 0.3); +insert into ratings values (651, 227694, '2003-10-15', 3, 0.5); +insert into ratings values (651, 227694, '2003-10-15', 4, 0.2); +insert into ratings values (652, 30878, '2004-02-18', 4, 1.0); +insert into ratings values (652, 42362, '2004-05-08', 1, 0.3); +insert into ratings values (652, 42362, '2004-05-08', 2, 0.6); +insert into ratings values (652, 42362, '2004-05-08', 3, 0.1); +insert into ratings values (652, 383894, '2003-04-08', 3, 0.7); +insert into ratings values (652, 383894, '2003-04-08', 4, 0.3); +insert into ratings values (652, 24473, '2004-04-21', 2, 0.5); +insert into ratings values (652, 24473, '2004-04-21', 3, 0.4); +insert into ratings values (652, 24473, '2004-04-21', 4, 0.1); +insert into ratings values (652, 442739, '2005-01-05', 3, 0.2); +insert into ratings values (652, 442739, '2005-01-05', 4, 0.5); +insert into ratings values (652, 442739, '2005-01-05', 5, 0.3); +insert into ratings values (653, 76196, '2002-02-05', 3, 0.4); +insert into ratings values (653, 76196, '2002-02-05', 4, 0.4); +insert into ratings values (653, 76196, '2002-02-05', 5, 0.2); +insert into ratings values (653, 152178, '2002-07-18', 3, 1.0); +insert into ratings values (653, 306199, '2001-09-23', 2, 1.0); +insert into ratings values (653, 34128, '2002-01-27', 2, 0.2); +insert into ratings values (653, 34128, '2002-01-27', 3, 0.8); +insert into ratings values (653, 411705, '2004-05-13', 2, 0.5); +insert into ratings values (653, 411705, '2004-05-13', 3, 0.4); +insert into ratings values (653, 411705, '2004-05-13', 4, 0.1); +insert into ratings values (654, 76196, '2002-01-29', 3, 0.7); +insert into ratings values (654, 76196, '2002-01-29', 4, 0.3); +insert into ratings values (654, 394918, '2003-01-25', 2, 0.1); +insert into ratings values (654, 394918, '2003-01-25', 3, 0.4); +insert into ratings values (654, 394918, '2003-01-25', 4, 0.5); +insert into ratings values (654, 387341, '2002-03-12', 3, 0.8); +insert into ratings values (654, 387341, '2002-03-12', 4, 0.2); +insert into ratings values (654, 34166, '2005-05-27', 3, 1.0); +insert into ratings values (654, 265955, '2002-04-17', 4, 1.0); +insert into ratings values (655, 247794, '2005-12-23', 1, 1.0); +insert into ratings values (655, 231110, '2005-03-16', 3, 0.1); +insert into ratings values (655, 231110, '2005-03-16', 4, 0.6); +insert into ratings values (655, 231110, '2005-03-16', 5, 0.3); +insert into ratings values (655, 119287, '2005-04-08', 5, 1.0); +insert into ratings values (655, 97786, '2005-10-31', 3, 0.2); +insert into ratings values (655, 97786, '2005-10-31', 4, 0.2); +insert into ratings values (655, 97786, '2005-10-31', 5, 0.6); +insert into ratings values (655, 190249, '2005-07-18', 2, 0.3); +insert into ratings values (655, 190249, '2005-07-18', 3, 0.5); +insert into ratings values (655, 190249, '2005-07-18', 4, 0.2); +insert into ratings values (656, 328386, '2005-06-25', 2, 0.3); +insert into ratings values (656, 328386, '2005-06-25', 3, 0.5); +insert into ratings values (656, 328386, '2005-06-25', 4, 0.2); +insert into ratings values (656, 98850, '2005-06-22', 3, 0.6); +insert into ratings values (656, 98850, '2005-06-22', 4, 0.4); +insert into ratings values (656, 151146, '2005-06-04', 2, 1.0); +insert into ratings values (656, 444845, '2005-09-21', 2, 0.1); +insert into ratings values (656, 444845, '2005-09-21', 3, 0.4); +insert into ratings values (656, 444845, '2005-09-21', 4, 0.5); +insert into ratings values (656, 165247, '2005-08-01', 4, 0.4); +insert into ratings values (656, 165247, '2005-08-01', 5, 0.6); +insert into ratings values (657, 139297, '2005-02-07', 4, 1.0); +insert into ratings values (657, 44317, '2005-06-23', 4, 0.6); +insert into ratings values (657, 44317, '2005-06-23', 5, 0.4); +insert into ratings values (657, 231140, '2005-09-13', 4, 1.0); +insert into ratings values (657, 12771, '2005-08-01', 5, 1.0); +insert into ratings values (657, 264160, '2005-08-28', 3, 0.2); +insert into ratings values (657, 264160, '2005-08-28', 4, 0.5); +insert into ratings values (657, 264160, '2005-08-28', 5, 0.3); +insert into ratings values (658, 169485, '2005-07-06', 4, 0.3); +insert into ratings values (658, 169485, '2005-07-06', 5, 0.7); +insert into ratings values (658, 69867, '2004-09-03', 3, 1.0); +insert into ratings values (658, 306466, '2004-04-13', 1, 0.4); +insert into ratings values (658, 306466, '2004-04-13', 2, 0.4); +insert into ratings values (658, 306466, '2004-04-13', 3, 0.2); +insert into ratings values (658, 276813, '2004-09-04', 2, 0.4); +insert into ratings values (658, 276813, '2004-09-04', 3, 0.5); +insert into ratings values (658, 276813, '2004-09-04', 4, 0.1); +insert into ratings values (658, 132390, '2004-09-04', 4, 1.0); +insert into ratings values (659, 233058, '2005-01-24', 5, 1.0); +insert into ratings values (659, 478149, '2004-03-30', 5, 1.0); +insert into ratings values (659, 476805, '2005-11-17', 2, 0.8); +insert into ratings values (659, 476805, '2005-11-17', 3, 0.2); +insert into ratings values (659, 295983, '2005-11-27', 5, 1.0); +insert into ratings values (659, 283578, '2005-05-09', 1, 1.0); +insert into ratings values (660, 160977, '2001-11-06', 3, 0.2); +insert into ratings values (660, 160977, '2001-11-06', 4, 0.4); +insert into ratings values (660, 160977, '2001-11-06', 5, 0.4); +insert into ratings values (660, 68321, '2002-06-20', 4, 1.0); +insert into ratings values (660, 348443, '2002-08-28', 4, 1.0); +insert into ratings values (660, 389606, '2004-07-23', 3, 1.0); +insert into ratings values (660, 44937, '2003-04-07', 3, 1.0); +insert into ratings values (661, 30878, '2004-03-05', 3, 0.6); +insert into ratings values (661, 30878, '2004-03-05', 4, 0.4); +insert into ratings values (661, 43601, '2003-04-24', 3, 0.3); +insert into ratings values (661, 43601, '2003-04-24', 4, 0.7); +insert into ratings values (661, 25382, '2004-03-22', 3, 0.4); +insert into ratings values (661, 25382, '2004-03-22', 4, 0.6); +insert into ratings values (661, 377802, '2003-04-23', 4, 1.0); +insert into ratings values (661, 66414, '2003-04-21', 1, 0.3); +insert into ratings values (661, 66414, '2003-04-21', 2, 0.5); +insert into ratings values (661, 66414, '2003-04-21', 3, 0.2); +insert into ratings values (662, 306466, '2001-03-29', 3, 1.0); +insert into ratings values (662, 41412, '2001-05-19', 3, 1.0); +insert into ratings values (662, 30878, '2004-08-08', 3, 1.0); +insert into ratings values (662, 238407, '2003-06-20', 3, 0.1); +insert into ratings values (662, 238407, '2003-06-20', 4, 0.5); +insert into ratings values (662, 238407, '2003-06-20', 5, 0.4); +insert into ratings values (662, 31522, '2005-08-18', 3, 0.4); +insert into ratings values (662, 31522, '2005-08-18', 4, 0.4); +insert into ratings values (662, 31522, '2005-08-18', 5, 0.2); +insert into ratings values (663, 452088, '2005-10-03', 3, 0.2); +insert into ratings values (663, 452088, '2005-10-03', 4, 0.2); +insert into ratings values (663, 452088, '2005-10-03', 5, 0.6); +insert into ratings values (663, 236326, '2005-07-06', 2, 0.1); +insert into ratings values (663, 236326, '2005-07-06', 3, 0.4); +insert into ratings values (663, 236326, '2005-07-06', 4, 0.5); +insert into ratings values (663, 259137, '2005-07-19', 3, 0.2); +insert into ratings values (663, 259137, '2005-07-19', 4, 0.3); +insert into ratings values (663, 259137, '2005-07-19', 5, 0.5); +insert into ratings values (663, 200255, '2005-07-23', 5, 1.0); +insert into ratings values (663, 300074, '2005-07-09', 4, 0.6); +insert into ratings values (663, 300074, '2005-07-09', 5, 0.4); +insert into ratings values (664, 437919, '2005-08-17', 2, 0.3); +insert into ratings values (664, 437919, '2005-08-17', 3, 0.4); +insert into ratings values (664, 437919, '2005-08-17', 4, 0.3); +insert into ratings values (664, 417569, '2003-09-22', 1, 0.5); +insert into ratings values (664, 417569, '2003-09-22', 2, 0.5); +insert into ratings values (664, 337860, '2003-02-17', 4, 0.7); +insert into ratings values (664, 337860, '2003-02-17', 5, 0.3); +insert into ratings values (664, 476573, '2005-04-12', 3, 0.4); +insert into ratings values (664, 476573, '2005-04-12', 4, 0.6); +insert into ratings values (664, 63634, '2003-03-21', 1, 0.6); +insert into ratings values (664, 63634, '2003-03-21', 2, 0.3); +insert into ratings values (664, 63634, '2003-03-21', 3, 0.1); +insert into ratings values (665, 473516, '2004-10-15', 3, 1.0); +insert into ratings values (665, 234959, '2003-10-31', 2, 0.1); +insert into ratings values (665, 234959, '2003-10-31', 3, 0.4); +insert into ratings values (665, 234959, '2003-10-31', 4, 0.5); +insert into ratings values (665, 269689, '2003-12-17', 2, 0.2); +insert into ratings values (665, 269689, '2003-12-17', 3, 0.6); +insert into ratings values (665, 269689, '2003-12-17', 4, 0.2); +insert into ratings values (665, 238740, '2004-09-10', 2, 1.0); +insert into ratings values (665, 62054, '2005-07-19', 2, 0.8); +insert into ratings values (665, 62054, '2005-07-19', 3, 0.2); +insert into ratings values (666, 406121, '2004-06-09', 5, 1.0); +insert into ratings values (666, 491331, '2005-09-04', 1, 0.1); +insert into ratings values (666, 491331, '2005-09-04', 2, 0.4); +insert into ratings values (666, 491331, '2005-09-04', 3, 0.5); +insert into ratings values (666, 66109, '2004-04-18', 3, 1.0); +insert into ratings values (666, 313087, '2004-07-31', 3, 1.0); +insert into ratings values (666, 67776, '2005-04-07', 4, 1.0); +insert into ratings values (667, 231110, '2005-03-16', 3, 0.2); +insert into ratings values (667, 231110, '2005-03-16', 4, 0.8); +insert into ratings values (667, 482592, '2005-04-11', 3, 1.0); +insert into ratings values (667, 119287, '2005-04-08', 4, 0.4); +insert into ratings values (667, 119287, '2005-04-08', 5, 0.6); +insert into ratings values (667, 409239, '2005-09-30', 3, 1.0); +insert into ratings values (667, 69183, '2005-10-05', 3, 0.3); +insert into ratings values (667, 69183, '2005-10-05', 4, 0.7); +insert into ratings values (668, 101470, '2005-07-31', 3, 1.0); +insert into ratings values (668, 66568, '2005-03-25', 3, 0.1); +insert into ratings values (668, 66568, '2005-03-25', 4, 0.3); +insert into ratings values (668, 66568, '2005-03-25', 5, 0.6); +insert into ratings values (668, 474582, '2005-06-12', 3, 0.2); +insert into ratings values (668, 474582, '2005-06-12', 4, 0.4); +insert into ratings values (668, 474582, '2005-06-12', 5, 0.4); +insert into ratings values (668, 77960, '2004-12-27', 2, 0.2); +insert into ratings values (668, 77960, '2004-12-27', 3, 0.6); +insert into ratings values (668, 77960, '2004-12-27', 4, 0.2); +insert into ratings values (668, 15863, '2005-03-19', 3, 0.7); +insert into ratings values (668, 15863, '2005-03-19', 4, 0.3); +insert into ratings values (669, 165698, '2003-03-31', 2, 0.6); +insert into ratings values (669, 165698, '2003-03-31', 3, 0.4); +insert into ratings values (669, 277843, '2004-08-30', 3, 1.0); +insert into ratings values (669, 186174, '2005-01-08', 2, 1.0); +insert into ratings values (669, 387341, '2003-01-24', 2, 0.4); +insert into ratings values (669, 387341, '2003-01-24', 3, 0.6); +insert into ratings values (669, 71594, '2002-01-24', 1, 0.1); +insert into ratings values (669, 71594, '2002-01-24', 2, 0.5); +insert into ratings values (669, 71594, '2002-01-24', 3, 0.4); +insert into ratings values (670, 364518, '2004-04-06', 3, 0.5); +insert into ratings values (670, 364518, '2004-04-06', 4, 0.5); +insert into ratings values (670, 400164, '2003-06-21', 4, 0.4); +insert into ratings values (670, 400164, '2003-06-21', 5, 0.6); +insert into ratings values (670, 496735, '2004-04-21', 2, 1.0); +insert into ratings values (670, 391744, '2005-09-02', 2, 1.0); +insert into ratings values (670, 305151, '2004-04-09', 3, 0.1); +insert into ratings values (670, 305151, '2004-04-09', 4, 0.6); +insert into ratings values (670, 305151, '2004-04-09', 5, 0.3); +insert into ratings values (671, 14690, '2002-10-16', 4, 1.0); +insert into ratings values (671, 131078, '2004-02-11', 3, 0.3); +insert into ratings values (671, 131078, '2004-02-11', 4, 0.7); +insert into ratings values (671, 171039, '2004-04-08', 2, 0.3); +insert into ratings values (671, 171039, '2004-04-08', 3, 0.5); +insert into ratings values (671, 171039, '2004-04-08', 4, 0.2); +insert into ratings values (671, 124237, '2005-08-18', 3, 0.5); +insert into ratings values (671, 124237, '2005-08-18', 4, 0.4); +insert into ratings values (671, 124237, '2005-08-18', 5, 0.1); +insert into ratings values (671, 281396, '2004-10-24', 2, 0.2); +insert into ratings values (671, 281396, '2004-10-24', 3, 0.5); +insert into ratings values (671, 281396, '2004-10-24', 4, 0.3); +insert into ratings values (672, 306466, '2002-06-28', 3, 1.0); +insert into ratings values (672, 30878, '2004-02-02', 3, 0.2); +insert into ratings values (672, 30878, '2004-02-02', 4, 0.5); +insert into ratings values (672, 30878, '2004-02-02', 5, 0.3); +insert into ratings values (672, 426397, '2004-06-28', 2, 0.3); +insert into ratings values (672, 426397, '2004-06-28', 3, 0.5); +insert into ratings values (672, 426397, '2004-06-28', 4, 0.2); +insert into ratings values (672, 139297, '2004-01-14', 2, 0.2); +insert into ratings values (672, 139297, '2004-01-14', 3, 0.4); +insert into ratings values (672, 139297, '2004-01-14', 4, 0.4); +insert into ratings values (672, 70244, '2004-02-29', 3, 1.0); +insert into ratings values (673, 139053, '2003-01-11', 1, 0.5); +insert into ratings values (673, 139053, '2003-01-11', 2, 0.3); +insert into ratings values (673, 139053, '2003-01-11', 3, 0.2); +insert into ratings values (673, 308495, '2004-09-04', 4, 0.6); +insert into ratings values (673, 308495, '2004-09-04', 5, 0.4); +insert into ratings values (673, 282781, '2004-08-05', 4, 1.0); +insert into ratings values (673, 92015, '2002-04-20', 4, 1.0); +insert into ratings values (673, 255357, '2004-09-17', 3, 0.2); +insert into ratings values (673, 255357, '2004-09-17', 4, 0.4); +insert into ratings values (673, 255357, '2004-09-17', 5, 0.4); +insert into ratings values (674, 306466, '2001-08-06', 3, 1.0); +insert into ratings values (674, 276813, '2001-01-03', 2, 1.0); +insert into ratings values (674, 439931, '2004-07-31', 2, 0.5); +insert into ratings values (674, 439931, '2004-07-31', 3, 0.5); +insert into ratings values (674, 70244, '2004-02-29', 2, 1.0); +insert into ratings values (674, 282391, '2004-10-26', 2, 0.3); +insert into ratings values (674, 282391, '2004-10-26', 3, 0.7); +insert into ratings values (675, 223183, '2005-03-16', 3, 0.6); +insert into ratings values (675, 223183, '2005-03-16', 4, 0.4); +insert into ratings values (675, 427928, '2005-02-27', 2, 0.1); +insert into ratings values (675, 427928, '2005-02-27', 3, 0.6); +insert into ratings values (675, 427928, '2005-02-27', 4, 0.3); +insert into ratings values (675, 301456, '2005-10-23', 3, 0.3); +insert into ratings values (675, 301456, '2005-10-23', 4, 0.1); +insert into ratings values (675, 301456, '2005-10-23', 5, 0.6); +insert into ratings values (675, 47312, '2005-08-10', 2, 0.1); +insert into ratings values (675, 47312, '2005-08-10', 3, 0.6); +insert into ratings values (675, 47312, '2005-08-10', 4, 0.3); +insert into ratings values (675, 272972, '2005-06-15', 3, 0.2); +insert into ratings values (675, 272972, '2005-06-15', 4, 0.6); +insert into ratings values (675, 272972, '2005-06-15', 5, 0.2); +insert into ratings values (676, 394693, '2003-03-04', 1, 0.3); +insert into ratings values (676, 394693, '2003-03-04', 2, 0.7); +insert into ratings values (676, 366216, '2004-11-23', 5, 1.0); +insert into ratings values (676, 468223, '2005-11-27', 2, 0.1); +insert into ratings values (676, 468223, '2005-11-27', 3, 0.5); +insert into ratings values (676, 468223, '2005-11-27', 4, 0.4); +insert into ratings values (676, 437597, '2002-09-02', 3, 1.0); +insert into ratings values (676, 129798, '2005-02-28', 4, 1.0); +insert into ratings values (677, 68321, '2003-07-22', 4, 1.0); +insert into ratings values (677, 390508, '2004-08-06', 3, 0.4); +insert into ratings values (677, 390508, '2004-08-06', 4, 0.4); +insert into ratings values (677, 390508, '2004-08-06', 5, 0.2); +insert into ratings values (677, 239716, '2004-05-22', 5, 1.0); +insert into ratings values (677, 139053, '2005-10-10', 2, 0.2); +insert into ratings values (677, 139053, '2005-10-10', 3, 0.5); +insert into ratings values (677, 139053, '2005-10-10', 4, 0.3); +insert into ratings values (677, 422881, '2005-08-01', 3, 1.0); +insert into ratings values (678, 303948, '2004-12-27', 2, 0.1); +insert into ratings values (678, 303948, '2004-12-27', 3, 0.5); +insert into ratings values (678, 303948, '2004-12-27', 4, 0.4); +insert into ratings values (678, 307667, '2004-02-06', 2, 0.5); +insert into ratings values (678, 307667, '2004-02-06', 3, 0.4); +insert into ratings values (678, 307667, '2004-02-06', 4, 0.1); +insert into ratings values (678, 321548, '2005-04-27', 2, 0.6); +insert into ratings values (678, 321548, '2005-04-27', 3, 0.4); +insert into ratings values (678, 393676, '2003-08-02', 4, 0.6); +insert into ratings values (678, 393676, '2003-08-02', 5, 0.4); +insert into ratings values (678, 319732, '2003-08-13', 3, 0.3); +insert into ratings values (678, 319732, '2003-08-13', 4, 0.2); +insert into ratings values (678, 319732, '2003-08-13', 5, 0.5); +insert into ratings values (679, 26648, '2005-09-14', 3, 0.2); +insert into ratings values (679, 26648, '2005-09-14', 4, 0.4); +insert into ratings values (679, 26648, '2005-09-14', 5, 0.4); +insert into ratings values (679, 456090, '2004-03-03', 3, 0.1); +insert into ratings values (679, 456090, '2004-03-03', 4, 0.5); +insert into ratings values (679, 456090, '2004-03-03', 5, 0.4); +insert into ratings values (679, 148448, '2005-07-29', 4, 1.0); +insert into ratings values (679, 420482, '2004-03-01', 3, 0.3); +insert into ratings values (679, 420482, '2004-03-01', 4, 0.6); +insert into ratings values (679, 420482, '2004-03-01', 5, 0.1); +insert into ratings values (679, 172377, '2004-05-04', 4, 1.0); +insert into ratings values (680, 108374, '2005-04-06', 3, 1.0); +insert into ratings values (680, 76196, '2002-02-08', 3, 0.3); +insert into ratings values (680, 76196, '2002-02-08', 4, 0.7); +insert into ratings values (680, 256740, '2004-08-17', 3, 0.7); +insert into ratings values (680, 256740, '2004-08-17', 4, 0.3); +insert into ratings values (680, 229572, '2004-03-22', 4, 1.0); +insert into ratings values (680, 430288, '2004-11-15', 2, 1.0); +insert into ratings values (681, 66187, '2005-08-22', 2, 0.5); +insert into ratings values (681, 66187, '2005-08-22', 3, 0.4); +insert into ratings values (681, 66187, '2005-08-22', 4, 0.1); +insert into ratings values (681, 394693, '2004-12-13', 3, 1.0); +insert into ratings values (681, 178131, '2004-12-26', 3, 0.4); +insert into ratings values (681, 178131, '2004-12-26', 4, 0.4); +insert into ratings values (681, 178131, '2004-12-26', 5, 0.2); +insert into ratings values (681, 442739, '2005-05-16', 3, 0.5); +insert into ratings values (681, 442739, '2005-05-16', 4, 0.5); +insert into ratings values (681, 51741, '2005-10-11', 2, 0.2); +insert into ratings values (681, 51741, '2005-10-11', 3, 0.6); +insert into ratings values (681, 51741, '2005-10-11', 4, 0.2); +insert into ratings values (682, 14690, '2000-08-08', 3, 0.3); +insert into ratings values (682, 14690, '2000-08-08', 4, 0.6); +insert into ratings values (682, 14690, '2000-08-08', 5, 0.1); +insert into ratings values (682, 86879, '2003-10-20', 5, 1.0); +insert into ratings values (682, 428170, '2004-05-23', 3, 0.3); +insert into ratings values (682, 428170, '2004-05-23', 4, 0.7); +insert into ratings values (682, 465286, '2004-08-17', 3, 0.3); +insert into ratings values (682, 465286, '2004-08-17', 4, 0.5); +insert into ratings values (682, 465286, '2004-08-17', 5, 0.2); +insert into ratings values (682, 305574, '2005-10-29', 4, 0.3); +insert into ratings values (682, 305574, '2005-10-29', 5, 0.7); +insert into ratings values (683, 247794, '2003-03-25', 1, 0.6); +insert into ratings values (683, 247794, '2003-03-25', 2, 0.4); +insert into ratings values (683, 290215, '2004-11-11', 3, 0.8); +insert into ratings values (683, 290215, '2004-11-11', 4, 0.2); +insert into ratings values (683, 166456, '2003-05-27', 2, 0.4); +insert into ratings values (683, 166456, '2003-05-27', 3, 0.6); +insert into ratings values (683, 202667, '2004-04-22', 4, 1.0); +insert into ratings values (683, 284143, '2004-07-01', 3, 0.2); +insert into ratings values (683, 284143, '2004-07-01', 4, 0.4); +insert into ratings values (683, 284143, '2004-07-01', 5, 0.4); +insert into ratings values (684, 372766, '2002-08-06', 5, 1.0); +insert into ratings values (684, 281396, '2005-06-06', 3, 0.7); +insert into ratings values (684, 281396, '2005-06-06', 4, 0.3); +insert into ratings values (684, 303948, '2005-03-29', 3, 1.0); +insert into ratings values (684, 319258, '2004-10-21', 3, 0.3); +insert into ratings values (684, 319258, '2004-10-21', 4, 0.4); +insert into ratings values (684, 319258, '2004-10-21', 5, 0.3); +insert into ratings values (684, 178860, '2005-01-29', 1, 0.2); +insert into ratings values (684, 178860, '2005-01-29', 2, 0.8); +insert into ratings values (685, 370762, '2003-08-30', 3, 0.3); +insert into ratings values (685, 370762, '2003-08-30', 4, 0.1); +insert into ratings values (685, 370762, '2003-08-30', 5, 0.6); +insert into ratings values (685, 497196, '2003-12-25', 2, 0.4); +insert into ratings values (685, 497196, '2003-12-25', 3, 0.4); +insert into ratings values (685, 497196, '2003-12-25', 4, 0.2); +insert into ratings values (685, 126998, '2004-05-27', 3, 0.2); +insert into ratings values (685, 126998, '2004-05-27', 4, 0.2); +insert into ratings values (685, 126998, '2004-05-27', 5, 0.6); +insert into ratings values (685, 113677, '2004-02-04', 3, 0.2); +insert into ratings values (685, 113677, '2004-02-04', 4, 0.5); +insert into ratings values (685, 113677, '2004-02-04', 5, 0.3); +insert into ratings values (685, 420586, '2004-09-28', 2, 0.3); +insert into ratings values (685, 420586, '2004-09-28', 3, 0.6); +insert into ratings values (685, 420586, '2004-09-28', 4, 0.1); +insert into ratings values (686, 69867, '2001-08-08', 1, 0.4); +insert into ratings values (686, 69867, '2001-08-08', 2, 0.6); +insert into ratings values (686, 306466, '2001-09-04', 2, 0.8); +insert into ratings values (686, 306466, '2001-09-04', 3, 0.2); +insert into ratings values (686, 369430, '2002-03-15', 1, 1.0); +insert into ratings values (686, 347403, '2002-11-28', 1, 0.5); +insert into ratings values (686, 347403, '2002-11-28', 2, 0.4); +insert into ratings values (686, 347403, '2002-11-28', 3, 0.1); +insert into ratings values (686, 89961, '2004-06-17', 2, 0.3); +insert into ratings values (686, 89961, '2004-06-17', 3, 0.6); +insert into ratings values (686, 89961, '2004-06-17', 4, 0.1); +insert into ratings values (687, 178860, '2005-01-29', 2, 0.6); +insert into ratings values (687, 178860, '2005-01-29', 3, 0.4); +insert into ratings values (687, 215082, '2004-11-24', 3, 0.5); +insert into ratings values (687, 215082, '2004-11-24', 4, 0.5); +insert into ratings values (687, 498648, '2004-08-09', 1, 1.0); +insert into ratings values (687, 412183, '2005-10-16', 1, 0.6); +insert into ratings values (687, 412183, '2005-10-16', 2, 0.4); +insert into ratings values (687, 296295, '2004-10-14', 3, 0.8); +insert into ratings values (687, 296295, '2004-10-14', 4, 0.2); +insert into ratings values (688, 471879, '2005-03-05', 2, 0.2); +insert into ratings values (688, 471879, '2005-03-05', 3, 0.5); +insert into ratings values (688, 471879, '2005-03-05', 4, 0.3); +insert into ratings values (688, 303948, '2005-04-23', 3, 1.0); +insert into ratings values (688, 43751, '2005-04-19', 3, 0.2); +insert into ratings values (688, 43751, '2005-04-19', 4, 0.6); +insert into ratings values (688, 43751, '2005-04-19', 5, 0.2); +insert into ratings values (688, 401047, '2005-06-29', 1, 1.0); +insert into ratings values (688, 252944, '2004-08-18', 4, 1.0); +insert into ratings values (689, 30878, '2004-02-25', 4, 0.8); +insert into ratings values (689, 30878, '2004-02-25', 5, 0.2); +insert into ratings values (689, 139053, '2003-02-24', 2, 0.4); +insert into ratings values (689, 139053, '2003-02-24', 3, 0.4); +insert into ratings values (689, 139053, '2003-02-24', 4, 0.2); +insert into ratings values (689, 42362, '2004-05-27', 3, 1.0); +insert into ratings values (689, 9960, '2005-08-28', 3, 1.0); +insert into ratings values (689, 86767, '2004-04-20', 3, 0.1); +insert into ratings values (689, 86767, '2004-04-20', 4, 0.6); +insert into ratings values (689, 86767, '2004-04-20', 5, 0.3); +insert into ratings values (690, 462930, '2005-04-29', 3, 0.3); +insert into ratings values (690, 462930, '2005-04-29', 4, 0.7); +insert into ratings values (690, 407669, '2004-10-05', 2, 0.3); +insert into ratings values (690, 407669, '2004-10-05', 3, 0.6); +insert into ratings values (690, 407669, '2004-10-05', 4, 0.1); +insert into ratings values (690, 115218, '2005-07-16', 5, 1.0); +insert into ratings values (690, 140549, '2005-04-09', 5, 1.0); +insert into ratings values (690, 95358, '2005-03-14', 3, 0.2); +insert into ratings values (690, 95358, '2005-03-14', 4, 0.2); +insert into ratings values (690, 95358, '2005-03-14', 5, 0.6); +insert into ratings values (691, 43601, '2002-09-26', 3, 0.5); +insert into ratings values (691, 43601, '2002-09-26', 4, 0.5); +insert into ratings values (691, 420417, '2005-10-01', 3, 0.8); +insert into ratings values (691, 420417, '2005-10-01', 4, 0.2); +insert into ratings values (691, 303948, '2004-12-27', 3, 1.0); +insert into ratings values (691, 61472, '2003-09-13', 2, 1.0); +insert into ratings values (691, 430109, '2005-10-29', 2, 0.4); +insert into ratings values (691, 430109, '2005-10-29', 3, 0.6); +insert into ratings values (692, 306466, '2001-04-27', 1, 0.2); +insert into ratings values (692, 306466, '2001-04-27', 2, 0.5); +insert into ratings values (692, 306466, '2001-04-27', 3, 0.3); +insert into ratings values (692, 422507, '2005-07-14', 2, 0.4); +insert into ratings values (692, 422507, '2005-07-14', 3, 0.5); +insert into ratings values (692, 422507, '2005-07-14', 4, 0.1); +insert into ratings values (692, 276813, '2001-01-08', 3, 1.0); +insert into ratings values (692, 30878, '2004-02-18', 4, 1.0); +insert into ratings values (692, 426397, '2004-08-09', 5, 1.0); +insert into ratings values (693, 11203, '2005-09-26', 3, 0.5); +insert into ratings values (693, 11203, '2005-09-26', 4, 0.5); +insert into ratings values (693, 327122, '2004-01-21', 1, 0.5); +insert into ratings values (693, 327122, '2004-01-21', 2, 0.5); +insert into ratings values (693, 461110, '2005-12-30', 2, 0.4); +insert into ratings values (693, 461110, '2005-12-30', 3, 0.4); +insert into ratings values (693, 461110, '2005-12-30', 4, 0.2); +insert into ratings values (693, 317060, '2005-11-24', 3, 0.2); +insert into ratings values (693, 317060, '2005-11-24', 4, 0.3); +insert into ratings values (693, 317060, '2005-11-24', 5, 0.5); +insert into ratings values (693, 353820, '2004-06-28', 2, 0.6); +insert into ratings values (693, 353820, '2004-06-28', 3, 0.4); +insert into ratings values (694, 30878, '2005-03-12', 4, 0.6); +insert into ratings values (694, 30878, '2005-03-12', 5, 0.4); +insert into ratings values (694, 363908, '2004-02-12', 3, 1.0); +insert into ratings values (694, 327122, '2005-04-02', 4, 1.0); +insert into ratings values (694, 124105, '2004-08-13', 4, 1.0); +insert into ratings values (694, 2442, '2004-04-10', 3, 1.0); +insert into ratings values (695, 497196, '2005-03-04', 3, 1.0); +insert into ratings values (695, 769, '2005-11-17', 2, 0.1); +insert into ratings values (695, 769, '2005-11-17', 3, 0.5); +insert into ratings values (695, 769, '2005-11-17', 4, 0.4); +insert into ratings values (695, 296608, '2005-08-09', 1, 0.6); +insert into ratings values (695, 296608, '2005-08-09', 2, 0.1); +insert into ratings values (695, 296608, '2005-08-09', 3, 0.3); +insert into ratings values (695, 234447, '2005-10-14', 3, 0.4); +insert into ratings values (695, 234447, '2005-10-14', 4, 0.5); +insert into ratings values (695, 234447, '2005-10-14', 5, 0.1); +insert into ratings values (695, 387457, '2005-04-11', 3, 1.0); +insert into ratings values (696, 306466, '2001-05-22', 2, 0.4); +insert into ratings values (696, 306466, '2001-05-22', 3, 0.6); +insert into ratings values (696, 28213, '2005-07-19', 3, 0.3); +insert into ratings values (696, 28213, '2005-07-19', 4, 0.7); +insert into ratings values (696, 30878, '2004-03-03', 4, 0.5); +insert into ratings values (696, 30878, '2004-03-03', 5, 0.5); +insert into ratings values (696, 183907, '2003-10-13', 2, 0.4); +insert into ratings values (696, 183907, '2003-10-13', 3, 0.6); +insert into ratings values (696, 175214, '2005-08-09', 2, 0.2); +insert into ratings values (696, 175214, '2005-08-09', 3, 0.6); +insert into ratings values (696, 175214, '2005-08-09', 4, 0.2); +insert into ratings values (697, 143203, '2004-01-26', 3, 0.1); +insert into ratings values (697, 143203, '2004-01-26', 4, 0.6); +insert into ratings values (697, 143203, '2004-01-26', 5, 0.3); +insert into ratings values (697, 70566, '2004-12-10', 3, 0.2); +insert into ratings values (697, 70566, '2004-12-10', 4, 0.4); +insert into ratings values (697, 70566, '2004-12-10', 5, 0.4); +insert into ratings values (697, 119496, '2005-01-25', 3, 0.3); +insert into ratings values (697, 119496, '2005-01-25', 4, 0.3); +insert into ratings values (697, 119496, '2005-01-25', 5, 0.4); +insert into ratings values (697, 301456, '2005-10-23', 4, 0.4); +insert into ratings values (697, 301456, '2005-10-23', 5, 0.6); +insert into ratings values (697, 112413, '2005-09-29', 3, 0.3); +insert into ratings values (697, 112413, '2005-09-29', 4, 0.5); +insert into ratings values (697, 112413, '2005-09-29', 5, 0.2); +insert into ratings values (698, 364540, '2005-06-08', 1, 0.7); +insert into ratings values (698, 364540, '2005-06-08', 2, 0.3); +insert into ratings values (698, 186179, '2000-03-02', 2, 0.1); +insert into ratings values (698, 186179, '2000-03-02', 3, 0.6); +insert into ratings values (698, 186179, '2000-03-02', 4, 0.3); +insert into ratings values (698, 481721, '2005-07-22', 3, 0.1); +insert into ratings values (698, 481721, '2005-07-22', 4, 0.6); +insert into ratings values (698, 481721, '2005-07-22', 5, 0.3); +insert into ratings values (698, 284660, '2005-10-11', 3, 0.1); +insert into ratings values (698, 284660, '2005-10-11', 4, 0.4); +insert into ratings values (698, 284660, '2005-10-11', 5, 0.5); +insert into ratings values (698, 99847, '2004-11-16', 1, 0.1); +insert into ratings values (698, 99847, '2004-11-16', 2, 0.5); +insert into ratings values (698, 99847, '2004-11-16', 3, 0.4); +insert into ratings values (699, 165383, '2005-03-08', 3, 0.2); +insert into ratings values (699, 165383, '2005-03-08', 4, 0.2); +insert into ratings values (699, 165383, '2005-03-08', 5, 0.6); +insert into ratings values (699, 85856, '2004-12-15', 5, 1.0); +insert into ratings values (699, 444370, '2005-02-13', 4, 1.0); +insert into ratings values (699, 137504, '2005-05-02', 5, 1.0); +insert into ratings values (699, 40063, '2005-05-11', 3, 0.1); +insert into ratings values (699, 40063, '2005-05-11', 4, 0.6); +insert into ratings values (699, 40063, '2005-05-11', 5, 0.3); +insert into ratings values (700, 306466, '2001-05-22', 3, 1.0); +insert into ratings values (700, 305151, '2004-03-24', 2, 0.3); +insert into ratings values (700, 305151, '2004-03-24', 3, 0.6); +insert into ratings values (700, 305151, '2004-03-24', 4, 0.1); +insert into ratings values (700, 442739, '2005-05-16', 3, 0.5); +insert into ratings values (700, 442739, '2005-05-16', 4, 0.5); +insert into ratings values (700, 461110, '2004-11-14', 1, 0.4); +insert into ratings values (700, 461110, '2004-11-14', 2, 0.3); +insert into ratings values (700, 461110, '2004-11-14', 3, 0.3); +insert into ratings values (700, 327122, '2005-09-26', 3, 0.2); +insert into ratings values (700, 327122, '2005-09-26', 4, 0.6); +insert into ratings values (700, 327122, '2005-09-26', 5, 0.2); +insert into ratings values (701, 249052, '2004-06-23', 4, 0.4); +insert into ratings values (701, 249052, '2004-06-23', 5, 0.6); +insert into ratings values (701, 32966, '2004-11-15', 1, 0.4); +insert into ratings values (701, 32966, '2004-11-15', 2, 0.2); +insert into ratings values (701, 32966, '2004-11-15', 3, 0.4); +insert into ratings values (701, 125296, '2004-05-28', 1, 0.5); +insert into ratings values (701, 125296, '2004-05-28', 2, 0.4); +insert into ratings values (701, 125296, '2004-05-28', 3, 0.1); +insert into ratings values (701, 165661, '2005-05-20', 2, 1.0); +insert into ratings values (701, 157711, '2005-09-01', 2, 0.3); +insert into ratings values (701, 157711, '2005-09-01', 3, 0.7); +insert into ratings values (702, 337137, '2004-08-16', 1, 0.4); +insert into ratings values (702, 337137, '2004-08-16', 2, 0.5); +insert into ratings values (702, 337137, '2004-08-16', 3, 0.1); +insert into ratings values (702, 335499, '2004-05-03', 3, 1.0); +insert into ratings values (702, 404623, '2004-08-02', 3, 0.5); +insert into ratings values (702, 404623, '2004-08-02', 4, 0.5); +insert into ratings values (702, 153577, '2004-07-09', 2, 0.2); +insert into ratings values (702, 153577, '2004-07-09', 3, 0.8); +insert into ratings values (702, 17808, '2005-05-09', 4, 1.0); +insert into ratings values (703, 205247, '2005-06-29', 4, 1.0); +insert into ratings values (703, 172815, '2004-12-16', 2, 0.3); +insert into ratings values (703, 172815, '2004-12-16', 3, 0.5); +insert into ratings values (703, 172815, '2004-12-16', 4, 0.2); +insert into ratings values (703, 472012, '2005-02-03', 4, 1.0); +insert into ratings values (703, 371158, '2005-05-12', 4, 0.7); +insert into ratings values (703, 371158, '2005-05-12', 5, 0.3); +insert into ratings values (703, 414080, '2005-05-17', 3, 1.0); +insert into ratings values (704, 219214, '2005-11-15', 3, 0.5); +insert into ratings values (704, 219214, '2005-11-15', 4, 0.1); +insert into ratings values (704, 219214, '2005-11-15', 5, 0.4); +insert into ratings values (704, 365554, '2005-10-10', 2, 0.6); +insert into ratings values (704, 365554, '2005-10-10', 3, 0.4); +insert into ratings values (704, 118860, '2005-03-04', 2, 0.3); +insert into ratings values (704, 118860, '2005-03-04', 3, 0.7); +insert into ratings values (704, 178860, '2005-01-29', 3, 1.0); +insert into ratings values (704, 108484, '2004-07-18', 3, 1.0); +insert into ratings values (705, 306466, '2003-01-17', 1, 0.2); +insert into ratings values (705, 306466, '2003-01-17', 2, 0.4); +insert into ratings values (705, 306466, '2003-01-17', 3, 0.4); +insert into ratings values (705, 254711, '2005-07-12', 1, 0.6); +insert into ratings values (705, 254711, '2005-07-12', 2, 0.1); +insert into ratings values (705, 254711, '2005-07-12', 3, 0.3); +insert into ratings values (705, 276813, '2003-08-07', 3, 1.0); +insert into ratings values (705, 175214, '2005-07-21', 4, 0.5); +insert into ratings values (705, 175214, '2005-07-21', 5, 0.5); +insert into ratings values (705, 30878, '2004-03-06', 3, 0.4); +insert into ratings values (705, 30878, '2004-03-06', 4, 0.4); +insert into ratings values (705, 30878, '2004-03-06', 5, 0.2); +insert into ratings values (706, 394693, '2005-11-11', 3, 0.3); +insert into ratings values (706, 394693, '2005-11-11', 4, 0.7); +insert into ratings values (706, 390643, '2005-09-27', 4, 1.0); +insert into ratings values (706, 440723, '2005-09-09', 3, 0.6); +insert into ratings values (706, 440723, '2005-09-09', 4, 0.4); +insert into ratings values (706, 92056, '2005-11-05', 3, 1.0); +insert into ratings values (706, 6736, '2005-10-05', 4, 0.6); +insert into ratings values (706, 6736, '2005-10-05', 5, 0.4); +insert into ratings values (707, 66358, '2005-10-25', 4, 1.0); +insert into ratings values (707, 67315, '2004-11-21', 3, 0.5); +insert into ratings values (707, 67315, '2004-11-21', 4, 0.5); +insert into ratings values (707, 478149, '2005-01-07', 4, 1.0); +insert into ratings values (707, 44772, '2004-11-01', 4, 1.0); +insert into ratings values (707, 108588, '2005-09-12', 3, 1.0); +insert into ratings values (708, 364518, '2002-05-02', 2, 0.6); +insert into ratings values (708, 364518, '2002-05-02', 3, 0.4); +insert into ratings values (708, 53679, '2005-07-08', 4, 1.0); +insert into ratings values (708, 69867, '2001-04-30', 2, 0.5); +insert into ratings values (708, 69867, '2001-04-30', 3, 0.5); +insert into ratings values (708, 306466, '2000-12-19', 4, 0.4); +insert into ratings values (708, 306466, '2000-12-19', 5, 0.6); +insert into ratings values (708, 350592, '2001-01-17', 4, 0.3); +insert into ratings values (708, 350592, '2001-01-17', 5, 0.7); +insert into ratings values (709, 188792, '2005-10-14', 5, 1.0); +insert into ratings values (709, 255385, '2005-03-12', 4, 0.6); +insert into ratings values (709, 255385, '2005-03-12', 5, 0.4); +insert into ratings values (709, 419746, '2002-12-02', 5, 1.0); +insert into ratings values (709, 235111, '2005-04-18', 1, 1.0); +insert into ratings values (709, 436707, '2003-11-26', 4, 0.2); +insert into ratings values (709, 436707, '2003-11-26', 5, 0.8); +insert into ratings values (710, 163830, '2005-05-27', 1, 0.2); +insert into ratings values (710, 163830, '2005-05-27', 2, 0.8); +insert into ratings values (710, 224358, '2005-05-02', 4, 0.4); +insert into ratings values (710, 224358, '2005-05-02', 5, 0.6); +insert into ratings values (710, 200255, '2005-09-27', 3, 0.2); +insert into ratings values (710, 200255, '2005-09-27', 4, 0.2); +insert into ratings values (710, 200255, '2005-09-27', 5, 0.6); +insert into ratings values (710, 350495, '2005-06-08', 3, 1.0); +insert into ratings values (710, 18103, '2005-12-12', 4, 1.0); +insert into ratings values (711, 306466, '2001-08-06', 2, 0.5); +insert into ratings values (711, 306466, '2001-08-06', 3, 0.4); +insert into ratings values (711, 306466, '2001-08-06', 4, 0.1); +insert into ratings values (711, 276813, '2001-07-24', 2, 0.5); +insert into ratings values (711, 276813, '2001-07-24', 3, 0.5); +insert into ratings values (711, 395744, '2005-08-13', 1, 0.3); +insert into ratings values (711, 395744, '2005-08-13', 2, 0.7); +insert into ratings values (711, 238407, '2005-08-21', 5, 1.0); +insert into ratings values (711, 66187, '2005-08-21', 4, 1.0); +insert into ratings values (712, 320454, '2005-07-09', 5, 1.0); +insert into ratings values (712, 250338, '2005-10-17', 3, 0.1); +insert into ratings values (712, 250338, '2005-10-17', 4, 0.5); +insert into ratings values (712, 250338, '2005-10-17', 5, 0.4); +insert into ratings values (712, 59100, '2005-10-20', 4, 1.0); +insert into ratings values (712, 238713, '2005-12-01', 3, 0.2); +insert into ratings values (712, 238713, '2005-12-01', 4, 0.5); +insert into ratings values (712, 238713, '2005-12-01', 5, 0.3); +insert into ratings values (712, 303948, '2005-09-12', 3, 1.0); +insert into ratings values (713, 163830, '2003-04-14', 3, 0.6); +insert into ratings values (713, 163830, '2003-04-14', 4, 0.4); +insert into ratings values (713, 350495, '2005-01-19', 3, 1.0); +insert into ratings values (713, 306199, '2003-05-15', 3, 1.0); +insert into ratings values (713, 478176, '2004-05-20', 3, 0.5); +insert into ratings values (713, 478176, '2004-05-20', 4, 0.5); +insert into ratings values (713, 130123, '2005-03-01', 1, 0.5); +insert into ratings values (713, 130123, '2005-03-01', 2, 0.4); +insert into ratings values (713, 130123, '2005-03-01', 3, 0.1); +insert into ratings values (714, 443819, '2002-10-23', 3, 1.0); +insert into ratings values (714, 428653, '2003-05-08', 3, 0.3); +insert into ratings values (714, 428653, '2003-05-08', 4, 0.3); +insert into ratings values (714, 428653, '2003-05-08', 5, 0.4); +insert into ratings values (714, 427746, '2003-02-28', 1, 0.3); +insert into ratings values (714, 427746, '2003-02-28', 2, 0.5); +insert into ratings values (714, 427746, '2003-02-28', 3, 0.2); +insert into ratings values (714, 341649, '2005-07-17', 1, 0.4); +insert into ratings values (714, 341649, '2005-07-17', 2, 0.1); +insert into ratings values (714, 341649, '2005-07-17', 3, 0.5); +insert into ratings values (714, 71594, '2000-07-01', 2, 0.2); +insert into ratings values (714, 71594, '2000-07-01', 3, 0.4); +insert into ratings values (714, 71594, '2000-07-01', 4, 0.4); +insert into ratings values (715, 311919, '2005-08-24', 2, 0.5); +insert into ratings values (715, 311919, '2005-08-24', 3, 0.4); +insert into ratings values (715, 311919, '2005-08-24', 4, 0.1); +insert into ratings values (715, 146851, '2005-08-25', 4, 0.5); +insert into ratings values (715, 146851, '2005-08-25', 5, 0.5); +insert into ratings values (715, 304116, '2004-10-17', 4, 1.0); +insert into ratings values (715, 1333, '2005-07-17', 3, 0.1); +insert into ratings values (715, 1333, '2005-07-17', 4, 0.6); +insert into ratings values (715, 1333, '2005-07-17', 5, 0.3); +insert into ratings values (715, 499718, '2005-08-29', 3, 0.2); +insert into ratings values (715, 499718, '2005-08-29', 4, 0.6); +insert into ratings values (715, 499718, '2005-08-29', 5, 0.2); +insert into ratings values (716, 484675, '2005-07-19', 3, 1.0); +insert into ratings values (716, 238740, '2005-06-06', 3, 1.0); +insert into ratings values (716, 46842, '2005-09-01', 3, 0.3); +insert into ratings values (716, 46842, '2005-09-01', 4, 0.5); +insert into ratings values (716, 46842, '2005-09-01', 5, 0.2); +insert into ratings values (716, 393650, '2005-05-16', 3, 0.5); +insert into ratings values (716, 393650, '2005-05-16', 4, 0.5); +insert into ratings values (716, 32885, '2005-10-27', 3, 1.0); +insert into ratings values (717, 249052, '2005-03-02', 3, 1.0); +insert into ratings values (717, 339532, '2005-11-29', 2, 1.0); +insert into ratings values (717, 42883, '2005-07-05', 3, 1.0); +insert into ratings values (717, 16651, '2005-04-18', 1, 0.1); +insert into ratings values (717, 16651, '2005-04-18', 2, 0.5); +insert into ratings values (717, 16651, '2005-04-18', 3, 0.4); +insert into ratings values (717, 24344, '2005-05-02', 2, 0.2); +insert into ratings values (717, 24344, '2005-05-02', 3, 0.8); +insert into ratings values (718, 412196, '2004-08-30', 4, 1.0); +insert into ratings values (718, 293901, '2003-12-24', 4, 1.0); +insert into ratings values (718, 461110, '2004-06-27', 1, 0.3); +insert into ratings values (718, 461110, '2004-06-27', 2, 0.5); +insert into ratings values (718, 461110, '2004-06-27', 3, 0.2); +insert into ratings values (718, 326981, '2004-01-29', 4, 0.5); +insert into ratings values (718, 326981, '2004-01-29', 5, 0.5); +insert into ratings values (718, 227469, '2004-08-25', 3, 1.0); +insert into ratings values (719, 193223, '2005-09-01', 1, 0.6); +insert into ratings values (719, 193223, '2005-09-01', 2, 0.4); +insert into ratings values (719, 273084, '2004-05-14', 3, 1.0); +insert into ratings values (719, 327122, '2005-12-23', 3, 0.6); +insert into ratings values (719, 327122, '2005-12-23', 4, 0.4); +insert into ratings values (719, 456861, '2005-08-20', 5, 1.0); +insert into ratings values (719, 122188, '2002-07-22', 2, 0.3); +insert into ratings values (719, 122188, '2002-07-22', 3, 0.5); +insert into ratings values (719, 122188, '2002-07-22', 4, 0.2); +insert into ratings values (720, 56069, '2004-05-25', 5, 1.0); +insert into ratings values (720, 462930, '2004-01-29', 3, 0.1); +insert into ratings values (720, 462930, '2004-01-29', 4, 0.5); +insert into ratings values (720, 462930, '2004-01-29', 5, 0.4); +insert into ratings values (720, 33916, '2004-08-23', 3, 0.2); +insert into ratings values (720, 33916, '2004-08-23', 4, 0.5); +insert into ratings values (720, 33916, '2004-08-23', 5, 0.3); +insert into ratings values (720, 487119, '2004-09-07', 4, 0.6); +insert into ratings values (720, 487119, '2004-09-07', 5, 0.4); +insert into ratings values (720, 209202, '2005-08-23', 2, 0.2); +insert into ratings values (720, 209202, '2005-08-23', 3, 0.4); +insert into ratings values (720, 209202, '2005-08-23', 4, 0.4); +insert into ratings values (721, 233058, '2005-02-26', 2, 0.3); +insert into ratings values (721, 233058, '2005-02-26', 3, 0.5); +insert into ratings values (721, 233058, '2005-02-26', 4, 0.2); +insert into ratings values (721, 190856, '2005-01-19', 2, 0.3); +insert into ratings values (721, 190856, '2005-01-19', 3, 0.6); +insert into ratings values (721, 190856, '2005-01-19', 4, 0.1); +insert into ratings values (721, 21983, '2005-08-06', 3, 0.6); +insert into ratings values (721, 21983, '2005-08-06', 4, 0.4); +insert into ratings values (721, 24627, '2005-09-23', 3, 0.5); +insert into ratings values (721, 24627, '2005-09-23', 4, 0.5); +insert into ratings values (721, 371300, '2004-01-02', 4, 0.3); +insert into ratings values (721, 371300, '2004-01-02', 5, 0.7); +insert into ratings values (722, 117277, '2004-10-19', 3, 0.4); +insert into ratings values (722, 117277, '2004-10-19', 4, 0.1); +insert into ratings values (722, 117277, '2004-10-19', 5, 0.5); +insert into ratings values (722, 395100, '2004-12-10', 3, 0.2); +insert into ratings values (722, 395100, '2004-12-10', 4, 0.4); +insert into ratings values (722, 395100, '2004-12-10', 5, 0.4); +insert into ratings values (722, 148005, '2004-12-28', 3, 1.0); +insert into ratings values (722, 11203, '2005-01-10', 5, 1.0); +insert into ratings values (722, 33916, '2005-02-14', 3, 0.1); +insert into ratings values (722, 33916, '2005-02-14', 4, 0.4); +insert into ratings values (722, 33916, '2005-02-14', 5, 0.5); +insert into ratings values (723, 306466, '2004-03-03', 1, 0.3); +insert into ratings values (723, 306466, '2004-03-03', 2, 0.5); +insert into ratings values (723, 306466, '2004-03-03', 3, 0.2); +insert into ratings values (723, 276813, '2003-08-07', 3, 1.0); +insert into ratings values (723, 30878, '2004-01-21', 2, 0.5); +insert into ratings values (723, 30878, '2004-01-21', 3, 0.5); +insert into ratings values (723, 42362, '2004-05-04', 2, 0.1); +insert into ratings values (723, 42362, '2004-05-04', 3, 0.5); +insert into ratings values (723, 42362, '2004-05-04', 4, 0.4); +insert into ratings values (723, 339448, '2004-03-03', 5, 1.0); +insert into ratings values (724, 132390, '2005-05-10', 4, 0.6); +insert into ratings values (724, 132390, '2005-05-10', 5, 0.4); +insert into ratings values (724, 83643, '2004-06-24', 3, 0.4); +insert into ratings values (724, 83643, '2004-06-24', 4, 0.1); +insert into ratings values (724, 83643, '2004-06-24', 5, 0.5); +insert into ratings values (724, 360349, '2004-07-17', 5, 1.0); +insert into ratings values (724, 303321, '2004-07-09', 3, 0.2); +insert into ratings values (724, 303321, '2004-07-09', 4, 0.2); +insert into ratings values (724, 303321, '2004-07-09', 5, 0.6); +insert into ratings values (724, 402123, '2004-09-13', 3, 0.3); +insert into ratings values (724, 402123, '2004-09-13', 4, 0.1); +insert into ratings values (724, 402123, '2004-09-13', 5, 0.6); +insert into ratings values (725, 117409, '2005-03-11', 3, 1.0); +insert into ratings values (725, 341908, '2005-03-15', 3, 1.0); +insert into ratings values (725, 14690, '2005-04-07', 3, 0.8); +insert into ratings values (725, 14690, '2005-04-07', 4, 0.2); +insert into ratings values (725, 322143, '2005-06-14', 4, 0.6); +insert into ratings values (725, 322143, '2005-06-14', 5, 0.4); +insert into ratings values (725, 318040, '2005-12-03', 4, 0.8); +insert into ratings values (725, 318040, '2005-12-03', 5, 0.2); +insert into ratings values (726, 281396, '2005-07-25', 2, 0.7); +insert into ratings values (726, 281396, '2005-07-25', 3, 0.3); +insert into ratings values (726, 417997, '2005-06-20', 2, 0.3); +insert into ratings values (726, 417997, '2005-06-20', 3, 0.7); +insert into ratings values (726, 184039, '2004-12-01', 2, 0.7); +insert into ratings values (726, 184039, '2004-12-01', 3, 0.3); +insert into ratings values (726, 339101, '2005-04-11', 2, 0.2); +insert into ratings values (726, 339101, '2005-04-11', 3, 0.4); +insert into ratings values (726, 339101, '2005-04-11', 4, 0.4); +insert into ratings values (726, 235789, '2004-10-27', 3, 0.7); +insert into ratings values (726, 235789, '2004-10-27', 4, 0.3); +insert into ratings values (727, 155342, '2003-03-24', 1, 0.8); +insert into ratings values (727, 155342, '2003-03-24', 2, 0.2); +insert into ratings values (727, 232257, '2003-07-15', 3, 0.5); +insert into ratings values (727, 232257, '2003-07-15', 4, 0.5); +insert into ratings values (727, 427369, '2004-11-17', 3, 1.0); +insert into ratings values (727, 162925, '2004-05-17', 2, 0.3); +insert into ratings values (727, 162925, '2004-05-17', 3, 0.7); +insert into ratings values (727, 396681, '2004-08-10', 3, 0.1); +insert into ratings values (727, 396681, '2004-08-10', 4, 0.6); +insert into ratings values (727, 396681, '2004-08-10', 5, 0.3); +insert into ratings values (728, 309337, '2004-12-12', 1, 0.2); +insert into ratings values (728, 309337, '2004-12-12', 2, 0.8); +insert into ratings values (728, 361462, '2004-11-06', 1, 1.0); +insert into ratings values (728, 79261, '2005-06-27', 3, 0.3); +insert into ratings values (728, 79261, '2005-06-27', 4, 0.5); +insert into ratings values (728, 79261, '2005-06-27', 5, 0.2); +insert into ratings values (728, 154121, '2004-08-18', 3, 0.4); +insert into ratings values (728, 154121, '2004-08-18', 4, 0.4); +insert into ratings values (728, 154121, '2004-08-18', 5, 0.2); +insert into ratings values (728, 310400, '2005-07-28', 2, 0.6); +insert into ratings values (728, 310400, '2005-07-28', 3, 0.4); +insert into ratings values (729, 420191, '2003-03-25', 1, 0.6); +insert into ratings values (729, 420191, '2003-03-25', 2, 0.4); +insert into ratings values (729, 376148, '2004-08-11', 2, 1.0); +insert into ratings values (729, 404772, '2003-05-15', 3, 1.0); +insert into ratings values (729, 132562, '2003-08-19', 1, 0.8); +insert into ratings values (729, 132562, '2003-08-19', 2, 0.2); +insert into ratings values (729, 424376, '2004-04-13', 1, 0.2); +insert into ratings values (729, 424376, '2004-04-13', 2, 0.5); +insert into ratings values (729, 424376, '2004-04-13', 3, 0.3); +insert into ratings values (730, 390508, '2003-07-27', 3, 1.0); +insert into ratings values (730, 496735, '2005-01-20', 3, 1.0); +insert into ratings values (730, 14690, '2004-04-29', 3, 0.4); +insert into ratings values (730, 14690, '2004-04-29', 4, 0.6); +insert into ratings values (730, 305574, '2004-08-25', 3, 0.3); +insert into ratings values (730, 305574, '2004-08-25', 4, 0.5); +insert into ratings values (730, 305574, '2004-08-25', 5, 0.2); +insert into ratings values (730, 327122, '2004-02-19', 2, 0.5); +insert into ratings values (730, 327122, '2004-02-19', 3, 0.4); +insert into ratings values (730, 327122, '2004-02-19', 4, 0.1); +insert into ratings values (731, 327122, '2004-03-05', 1, 0.4); +insert into ratings values (731, 327122, '2004-03-05', 2, 0.6); +insert into ratings values (731, 46036, '2003-10-15', 1, 0.6); +insert into ratings values (731, 46036, '2003-10-15', 2, 0.3); +insert into ratings values (731, 46036, '2003-10-15', 3, 0.1); +insert into ratings values (731, 105087, '2004-02-19', 2, 1.0); +insert into ratings values (731, 285547, '2004-07-12', 1, 1.0); +insert into ratings values (731, 188843, '2004-02-23', 1, 1.0); +insert into ratings values (732, 314837, '2005-11-29', 5, 1.0); +insert into ratings values (732, 193223, '2005-12-30', 1, 1.0); +insert into ratings values (732, 327122, '2005-11-08', 4, 0.7); +insert into ratings values (732, 327122, '2005-11-08', 5, 0.3); +insert into ratings values (732, 32785, '2005-11-21', 2, 0.3); +insert into ratings values (732, 32785, '2005-11-21', 3, 0.5); +insert into ratings values (732, 32785, '2005-11-21', 4, 0.2); +insert into ratings values (732, 122735, '2005-11-29', 2, 0.3); +insert into ratings values (732, 122735, '2005-11-29', 3, 0.4); +insert into ratings values (732, 122735, '2005-11-29', 4, 0.3); +insert into ratings values (733, 114393, '2005-09-22', 4, 1.0); +insert into ratings values (733, 146851, '2005-10-14', 3, 0.7); +insert into ratings values (733, 146851, '2005-10-14', 4, 0.3); +insert into ratings values (733, 69867, '2000-12-27', 2, 1.0); +insert into ratings values (733, 306466, '2001-04-27', 3, 1.0); +insert into ratings values (733, 276813, '2000-12-31', 2, 0.6); +insert into ratings values (733, 276813, '2000-12-31', 3, 0.4); +insert into ratings values (734, 160977, '2004-05-04', 4, 0.6); +insert into ratings values (734, 160977, '2004-05-04', 5, 0.4); +insert into ratings values (734, 487119, '2004-05-16', 4, 1.0); +insert into ratings values (734, 139297, '2004-03-26', 2, 0.1); +insert into ratings values (734, 139297, '2004-03-26', 3, 0.5); +insert into ratings values (734, 139297, '2004-03-26', 4, 0.4); +insert into ratings values (734, 239716, '2004-06-30', 4, 1.0); +insert into ratings values (734, 198246, '2004-09-16', 4, 1.0); +insert into ratings values (735, 229220, '2005-06-07', 2, 0.3); +insert into ratings values (735, 229220, '2005-06-07', 3, 0.5); +insert into ratings values (735, 229220, '2005-06-07', 4, 0.2); +insert into ratings values (735, 300074, '2005-07-09', 1, 0.4); +insert into ratings values (735, 300074, '2005-07-09', 2, 0.4); +insert into ratings values (735, 300074, '2005-07-09', 3, 0.2); +insert into ratings values (735, 185736, '2004-08-03', 5, 1.0); +insert into ratings values (735, 232257, '2003-09-14', 5, 1.0); +insert into ratings values (735, 193179, '2004-08-06', 1, 0.5); +insert into ratings values (735, 193179, '2004-08-06', 2, 0.5); +insert into ratings values (736, 479996, '2003-07-28', 1, 0.5); +insert into ratings values (736, 479996, '2003-07-28', 2, 0.5); +insert into ratings values (736, 155342, '2005-03-14', 1, 0.4); +insert into ratings values (736, 155342, '2005-03-14', 2, 0.3); +insert into ratings values (736, 155342, '2005-03-14', 3, 0.3); +insert into ratings values (736, 466076, '2003-09-02', 1, 0.6); +insert into ratings values (736, 466076, '2003-09-02', 2, 0.3); +insert into ratings values (736, 466076, '2003-09-02', 3, 0.1); +insert into ratings values (736, 156200, '2003-09-11', 2, 0.7); +insert into ratings values (736, 156200, '2003-09-11', 3, 0.3); +insert into ratings values (736, 223697, '2004-03-16', 1, 0.3); +insert into ratings values (736, 223697, '2004-03-16', 2, 0.7); +insert into ratings values (737, 205345, '2005-08-28', 3, 0.5); +insert into ratings values (737, 205345, '2005-08-28', 4, 0.1); +insert into ratings values (737, 205345, '2005-08-28', 5, 0.4); +insert into ratings values (737, 33609, '2004-03-26', 1, 0.1); +insert into ratings values (737, 33609, '2004-03-26', 2, 0.6); +insert into ratings values (737, 33609, '2004-03-26', 3, 0.3); +insert into ratings values (737, 398518, '2005-04-15', 2, 0.4); +insert into ratings values (737, 398518, '2005-04-15', 3, 0.5); +insert into ratings values (737, 398518, '2005-04-15', 4, 0.1); +insert into ratings values (737, 221809, '2004-09-23', 3, 0.6); +insert into ratings values (737, 221809, '2004-09-23', 4, 0.4); +insert into ratings values (737, 387157, '2004-12-29', 4, 1.0); +insert into ratings values (738, 239409, '2005-01-06', 3, 0.2); +insert into ratings values (738, 239409, '2005-01-06', 4, 0.8); +insert into ratings values (738, 62682, '2005-02-01', 3, 0.4); +insert into ratings values (738, 62682, '2005-02-01', 4, 0.4); +insert into ratings values (738, 62682, '2005-02-01', 5, 0.2); +insert into ratings values (738, 288489, '2005-11-30', 2, 0.1); +insert into ratings values (738, 288489, '2005-11-30', 3, 0.5); +insert into ratings values (738, 288489, '2005-11-30', 4, 0.4); +insert into ratings values (738, 464309, '2005-01-12', 1, 0.3); +insert into ratings values (738, 464309, '2005-01-12', 2, 0.7); +insert into ratings values (738, 188414, '2004-10-27', 3, 0.8); +insert into ratings values (738, 188414, '2004-10-27', 4, 0.2); +insert into ratings values (739, 492722, '2003-04-11', 3, 0.4); +insert into ratings values (739, 492722, '2003-04-11', 4, 0.1); +insert into ratings values (739, 492722, '2003-04-11', 5, 0.5); +insert into ratings values (739, 32720, '2005-09-25', 1, 0.4); +insert into ratings values (739, 32720, '2005-09-25', 2, 0.6); +insert into ratings values (739, 465286, '2004-01-12', 4, 0.4); +insert into ratings values (739, 465286, '2004-01-12', 5, 0.6); +insert into ratings values (739, 193052, '2003-02-12', 2, 0.6); +insert into ratings values (739, 193052, '2003-02-12', 3, 0.4); +insert into ratings values (739, 310856, '2004-12-01', 2, 0.4); +insert into ratings values (739, 310856, '2004-12-01', 3, 0.4); +insert into ratings values (739, 310856, '2004-12-01', 4, 0.2); +insert into ratings values (740, 43039, '2004-01-19', 1, 0.2); +insert into ratings values (740, 43039, '2004-01-19', 2, 0.8); +insert into ratings values (740, 76597, '2005-03-23', 2, 1.0); +insert into ratings values (740, 110384, '2005-05-04', 3, 1.0); +insert into ratings values (740, 79355, '2005-09-09', 1, 0.5); +insert into ratings values (740, 79355, '2005-09-09', 2, 0.5); +insert into ratings values (740, 493082, '2003-10-20', 2, 0.1); +insert into ratings values (740, 493082, '2003-10-20', 3, 0.4); +insert into ratings values (740, 493082, '2003-10-20', 4, 0.5); +insert into ratings values (741, 419746, '2003-09-25', 2, 0.1); +insert into ratings values (741, 419746, '2003-09-25', 3, 0.5); +insert into ratings values (741, 419746, '2003-09-25', 4, 0.4); +insert into ratings values (741, 131892, '2005-07-10', 3, 0.1); +insert into ratings values (741, 131892, '2005-07-10', 4, 0.5); +insert into ratings values (741, 131892, '2005-07-10', 5, 0.4); +insert into ratings values (741, 221791, '2004-05-13', 4, 1.0); +insert into ratings values (741, 484681, '2003-06-10', 4, 1.0); +insert into ratings values (741, 183038, '2003-11-29', 2, 0.5); +insert into ratings values (741, 183038, '2003-11-29', 3, 0.5); +insert into ratings values (742, 249052, '2005-04-17', 4, 0.5); +insert into ratings values (742, 249052, '2005-04-17', 5, 0.5); +insert into ratings values (742, 303948, '2005-04-08', 2, 0.1); +insert into ratings values (742, 303948, '2005-04-08', 3, 0.4); +insert into ratings values (742, 303948, '2005-04-08', 4, 0.5); +insert into ratings values (742, 150869, '2004-10-22', 2, 0.2); +insert into ratings values (742, 150869, '2004-10-22', 3, 0.6); +insert into ratings values (742, 150869, '2004-10-22', 4, 0.2); +insert into ratings values (742, 85313, '2005-03-13', 2, 0.4); +insert into ratings values (742, 85313, '2005-03-13', 3, 0.6); +insert into ratings values (742, 222832, '2005-11-16', 3, 0.1); +insert into ratings values (742, 222832, '2005-11-16', 4, 0.5); +insert into ratings values (742, 222832, '2005-11-16', 5, 0.4); +insert into ratings values (743, 1427, '2005-05-08', 3, 0.4); +insert into ratings values (743, 1427, '2005-05-08', 4, 0.5); +insert into ratings values (743, 1427, '2005-05-08', 5, 0.1); +insert into ratings values (743, 409239, '2005-08-30', 2, 0.4); +insert into ratings values (743, 409239, '2005-08-30', 3, 0.5); +insert into ratings values (743, 409239, '2005-08-30', 4, 0.1); +insert into ratings values (743, 303948, '2005-04-18', 2, 0.4); +insert into ratings values (743, 303948, '2005-04-18', 3, 0.6); +insert into ratings values (743, 381520, '2005-06-02', 2, 0.4); +insert into ratings values (743, 381520, '2005-06-02', 3, 0.4); +insert into ratings values (743, 381520, '2005-06-02', 4, 0.2); +insert into ratings values (743, 382286, '2005-05-18', 3, 1.0); +insert into ratings values (744, 497196, '2003-04-13', 3, 1.0); +insert into ratings values (744, 126998, '2004-07-13', 3, 0.4); +insert into ratings values (744, 126998, '2004-07-13', 4, 0.6); +insert into ratings values (744, 315229, '2005-02-07', 2, 0.3); +insert into ratings values (744, 315229, '2005-02-07', 3, 0.5); +insert into ratings values (744, 315229, '2005-02-07', 4, 0.2); +insert into ratings values (744, 184039, '2004-03-12', 2, 0.3); +insert into ratings values (744, 184039, '2004-03-12', 3, 0.5); +insert into ratings values (744, 184039, '2004-03-12', 4, 0.2); +insert into ratings values (744, 380192, '2001-02-09', 3, 0.4); +insert into ratings values (744, 380192, '2001-02-09', 4, 0.6); +insert into ratings values (745, 185495, '2003-08-27', 1, 0.6); +insert into ratings values (745, 185495, '2003-08-27', 2, 0.1); +insert into ratings values (745, 185495, '2003-08-27', 3, 0.3); +insert into ratings values (745, 45511, '2005-09-19', 2, 1.0); +insert into ratings values (745, 256562, '2004-01-28', 2, 1.0); +insert into ratings values (745, 436122, '2004-06-09', 1, 0.6); +insert into ratings values (745, 436122, '2004-06-09', 2, 0.4); +insert into ratings values (745, 415589, '2003-01-23', 1, 0.1); +insert into ratings values (745, 415589, '2003-01-23', 2, 0.5); +insert into ratings values (745, 415589, '2003-01-23', 3, 0.4); +insert into ratings values (746, 496476, '2005-07-14', 5, 1.0); +insert into ratings values (746, 249052, '2005-07-20', 5, 1.0); +insert into ratings values (746, 347403, '2003-04-23', 2, 0.1); +insert into ratings values (746, 347403, '2003-04-23', 3, 0.6); +insert into ratings values (746, 347403, '2003-04-23', 4, 0.3); +insert into ratings values (746, 42362, '2002-06-23', 2, 0.1); +insert into ratings values (746, 42362, '2002-06-23', 3, 0.4); +insert into ratings values (746, 42362, '2002-06-23', 4, 0.5); +insert into ratings values (746, 183907, '2002-10-24', 3, 0.6); +insert into ratings values (746, 183907, '2002-10-24', 4, 0.4); +insert into ratings values (747, 333620, '2005-05-27', 1, 0.5); +insert into ratings values (747, 333620, '2005-05-27', 2, 0.5); +insert into ratings values (747, 466322, '2005-05-23', 1, 1.0); +insert into ratings values (747, 444370, '2005-10-21', 3, 0.2); +insert into ratings values (747, 444370, '2005-10-21', 4, 0.5); +insert into ratings values (747, 444370, '2005-10-21', 5, 0.3); +insert into ratings values (747, 313872, '2005-06-23', 2, 1.0); +insert into ratings values (747, 303566, '2005-05-05', 4, 1.0); +insert into ratings values (748, 193223, '2005-09-06', 1, 0.7); +insert into ratings values (748, 193223, '2005-09-06', 2, 0.3); +insert into ratings values (748, 152764, '2005-09-07', 3, 0.1); +insert into ratings values (748, 152764, '2005-09-07', 4, 0.4); +insert into ratings values (748, 152764, '2005-09-07', 5, 0.5); +insert into ratings values (748, 401527, '2005-09-20', 2, 0.1); +insert into ratings values (748, 401527, '2005-09-20', 3, 0.6); +insert into ratings values (748, 401527, '2005-09-20', 4, 0.3); +insert into ratings values (748, 322143, '2005-07-14', 3, 0.1); +insert into ratings values (748, 322143, '2005-07-14', 4, 0.6); +insert into ratings values (748, 322143, '2005-07-14', 5, 0.3); +insert into ratings values (748, 433803, '2005-07-26', 2, 0.4); +insert into ratings values (748, 433803, '2005-07-26', 3, 0.4); +insert into ratings values (748, 433803, '2005-07-26', 4, 0.2); +insert into ratings values (749, 461110, '2003-10-22', 1, 1.0); +insert into ratings values (749, 327122, '2004-01-21', 1, 0.7); +insert into ratings values (749, 327122, '2004-01-21', 2, 0.3); +insert into ratings values (749, 163546, '2004-01-11', 1, 0.3); +insert into ratings values (749, 163546, '2004-01-11', 2, 0.6); +insert into ratings values (749, 163546, '2004-01-11', 3, 0.1); +insert into ratings values (749, 129798, '2004-01-25', 1, 0.4); +insert into ratings values (749, 129798, '2004-01-25', 2, 0.1); +insert into ratings values (749, 129798, '2004-01-25', 3, 0.5); +insert into ratings values (749, 46036, '2003-10-13', 2, 1.0); +insert into ratings values (750, 247687, '2005-09-24', 2, 0.2); +insert into ratings values (750, 247687, '2005-09-24', 3, 0.8); +insert into ratings values (750, 146028, '2005-10-27', 3, 0.2); +insert into ratings values (750, 146028, '2005-10-27', 4, 0.4); +insert into ratings values (750, 146028, '2005-10-27', 5, 0.4); +insert into ratings values (750, 411234, '2005-11-08', 2, 0.1); +insert into ratings values (750, 411234, '2005-11-08', 3, 0.5); +insert into ratings values (750, 411234, '2005-11-08', 4, 0.4); +insert into ratings values (750, 447223, '2005-11-09', 5, 1.0); +insert into ratings values (750, 499956, '2005-11-09', 4, 1.0); +insert into ratings values (751, 496476, '2005-07-05', 3, 0.1); +insert into ratings values (751, 496476, '2005-07-05', 4, 0.4); +insert into ratings values (751, 496476, '2005-07-05', 5, 0.5); +insert into ratings values (751, 306466, '2001-09-04', 2, 1.0); +insert into ratings values (751, 276813, '2001-01-03', 1, 0.4); +insert into ratings values (751, 276813, '2001-01-03', 2, 0.6); +insert into ratings values (751, 488477, '2004-10-15', 2, 0.3); +insert into ratings values (751, 488477, '2004-10-15', 3, 0.5); +insert into ratings values (751, 488477, '2004-10-15', 4, 0.2); +insert into ratings values (751, 146200, '2005-01-26', 1, 0.2); +insert into ratings values (751, 146200, '2005-01-26', 2, 0.5); +insert into ratings values (751, 146200, '2005-01-26', 3, 0.3); +insert into ratings values (752, 306466, '2004-07-01', 3, 0.4); +insert into ratings values (752, 306466, '2004-07-01', 4, 0.6); +insert into ratings values (752, 366011, '2005-08-01', 3, 0.2); +insert into ratings values (752, 366011, '2005-08-01', 4, 0.6); +insert into ratings values (752, 366011, '2005-08-01', 5, 0.2); +insert into ratings values (752, 385640, '2005-08-13', 3, 0.1); +insert into ratings values (752, 385640, '2005-08-13', 4, 0.4); +insert into ratings values (752, 385640, '2005-08-13', 5, 0.5); +insert into ratings values (752, 88271, '2005-08-16', 3, 0.2); +insert into ratings values (752, 88271, '2005-08-16', 4, 0.3); +insert into ratings values (752, 88271, '2005-08-16', 5, 0.5); +insert into ratings values (752, 50996, '2005-08-18', 5, 1.0); +insert into ratings values (753, 438699, '2005-07-13', 4, 1.0); +insert into ratings values (753, 440492, '2005-02-04', 3, 0.3); +insert into ratings values (753, 440492, '2005-02-04', 4, 0.5); +insert into ratings values (753, 440492, '2005-02-04', 5, 0.2); +insert into ratings values (753, 356771, '2005-01-02', 3, 0.2); +insert into ratings values (753, 356771, '2005-01-02', 4, 0.6); +insert into ratings values (753, 356771, '2005-01-02', 5, 0.2); +insert into ratings values (753, 101177, '2005-02-23', 1, 0.5); +insert into ratings values (753, 101177, '2005-02-23', 2, 0.1); +insert into ratings values (753, 101177, '2005-02-23', 3, 0.4); +insert into ratings values (753, 294098, '2004-12-21', 3, 0.2); +insert into ratings values (753, 294098, '2004-12-21', 4, 0.2); +insert into ratings values (753, 294098, '2004-12-21', 5, 0.6); +insert into ratings values (754, 25382, '2004-04-08', 4, 1.0); +insert into ratings values (754, 139297, '2004-01-25', 4, 1.0); +insert into ratings values (754, 70976, '2004-02-17', 1, 0.8); +insert into ratings values (754, 70976, '2004-02-17', 2, 0.2); +insert into ratings values (754, 105942, '2004-08-21', 3, 0.6); +insert into ratings values (754, 105942, '2004-08-21', 4, 0.4); +insert into ratings values (754, 433803, '2005-04-07', 3, 1.0); +insert into ratings values (755, 124574, '2005-09-12', 5, 1.0); +insert into ratings values (755, 108374, '2005-07-21', 4, 1.0); +insert into ratings values (755, 152135, '2004-02-25', 2, 0.2); +insert into ratings values (755, 152135, '2004-02-25', 3, 0.4); +insert into ratings values (755, 152135, '2004-02-25', 4, 0.4); +insert into ratings values (755, 338945, '2005-05-06', 3, 0.3); +insert into ratings values (755, 338945, '2005-05-06', 4, 0.6); +insert into ratings values (755, 338945, '2005-05-06', 5, 0.1); +insert into ratings values (755, 52432, '2004-02-07', 2, 0.4); +insert into ratings values (755, 52432, '2004-02-07', 3, 0.6); +insert into ratings values (756, 243437, '2004-07-14', 4, 0.4); +insert into ratings values (756, 243437, '2004-07-14', 5, 0.6); +insert into ratings values (756, 155342, '2003-03-24', 1, 0.5); +insert into ratings values (756, 155342, '2003-03-24', 2, 0.2); +insert into ratings values (756, 155342, '2003-03-24', 3, 0.3); +insert into ratings values (756, 477455, '2004-08-19', 2, 0.3); +insert into ratings values (756, 477455, '2004-08-19', 3, 0.6); +insert into ratings values (756, 477455, '2004-08-19', 4, 0.1); +insert into ratings values (756, 489352, '2004-11-08', 3, 1.0); +insert into ratings values (756, 49585, '2003-03-03', 1, 0.3); +insert into ratings values (756, 49585, '2003-03-03', 2, 0.6); +insert into ratings values (756, 49585, '2003-03-03', 3, 0.1); +insert into ratings values (757, 235838, '2005-07-29', 3, 0.4); +insert into ratings values (757, 235838, '2005-07-29', 4, 0.6); +insert into ratings values (757, 88542, '2005-10-24', 4, 0.2); +insert into ratings values (757, 88542, '2005-10-24', 5, 0.8); +insert into ratings values (757, 150517, '2005-08-17', 1, 0.3); +insert into ratings values (757, 150517, '2005-08-17', 2, 0.6); +insert into ratings values (757, 150517, '2005-08-17', 3, 0.1); +insert into ratings values (757, 455186, '2004-12-20', 4, 1.0); +insert into ratings values (757, 303948, '2005-03-22', 3, 1.0); +insert into ratings values (758, 422507, '2005-07-13', 3, 0.8); +insert into ratings values (758, 422507, '2005-07-13', 4, 0.2); +insert into ratings values (758, 343376, '2005-02-20', 2, 0.1); +insert into ratings values (758, 343376, '2005-02-20', 3, 0.6); +insert into ratings values (758, 343376, '2005-02-20', 4, 0.3); +insert into ratings values (758, 132390, '2004-08-05', 4, 1.0); +insert into ratings values (758, 310002, '2005-07-18', 3, 0.5); +insert into ratings values (758, 310002, '2005-07-18', 4, 0.5); +insert into ratings values (758, 120539, '2005-07-19', 3, 0.5); +insert into ratings values (758, 120539, '2005-07-19', 4, 0.5); +insert into ratings values (759, 69867, '2002-07-24', 3, 0.5); +insert into ratings values (759, 69867, '2002-07-24', 4, 0.5); +insert into ratings values (759, 306466, '2001-09-06', 1, 0.3); +insert into ratings values (759, 306466, '2001-09-06', 2, 0.6); +insert into ratings values (759, 306466, '2001-09-06', 3, 0.1); +insert into ratings values (759, 181323, '2003-05-23', 2, 0.1); +insert into ratings values (759, 181323, '2003-05-23', 3, 0.6); +insert into ratings values (759, 181323, '2003-05-23', 4, 0.3); +insert into ratings values (759, 492722, '2003-04-03', 4, 1.0); +insert into ratings values (759, 139297, '2003-12-06', 4, 1.0); +insert into ratings values (760, 282486, '2005-08-16', 3, 0.4); +insert into ratings values (760, 282486, '2005-08-16', 4, 0.6); +insert into ratings values (760, 31522, '2005-08-18', 2, 0.1); +insert into ratings values (760, 31522, '2005-08-18', 3, 0.4); +insert into ratings values (760, 31522, '2005-08-18', 4, 0.5); +insert into ratings values (760, 487119, '2005-08-20', 4, 0.7); +insert into ratings values (760, 487119, '2005-08-20', 5, 0.3); +insert into ratings values (760, 488477, '2005-06-13', 3, 0.5); +insert into ratings values (760, 488477, '2005-06-13', 4, 0.4); +insert into ratings values (760, 488477, '2005-06-13', 5, 0.1); +insert into ratings values (760, 269978, '2005-06-16', 1, 0.4); +insert into ratings values (760, 269978, '2005-06-16', 2, 0.4); +insert into ratings values (760, 269978, '2005-06-16', 3, 0.2); +insert into ratings values (761, 339532, '2004-08-26', 1, 0.4); +insert into ratings values (761, 339532, '2004-08-26', 2, 0.4); +insert into ratings values (761, 339532, '2004-08-26', 3, 0.2); +insert into ratings values (761, 108374, '2004-12-05', 1, 0.4); +insert into ratings values (761, 108374, '2004-12-05', 2, 0.6); +insert into ratings values (761, 102219, '2004-09-13', 3, 0.6); +insert into ratings values (761, 102219, '2004-09-13', 4, 0.4); +insert into ratings values (761, 16651, '2005-01-13', 3, 1.0); +insert into ratings values (761, 214166, '2005-03-04', 1, 0.7); +insert into ratings values (761, 214166, '2005-03-04', 2, 0.3); +insert into ratings values (762, 341895, '2005-05-31', 3, 0.4); +insert into ratings values (762, 341895, '2005-05-31', 4, 0.6); +insert into ratings values (762, 66358, '2005-06-20', 3, 0.1); +insert into ratings values (762, 66358, '2005-06-20', 4, 0.6); +insert into ratings values (762, 66358, '2005-06-20', 5, 0.3); +insert into ratings values (762, 282486, '2005-12-12', 4, 1.0); +insert into ratings values (762, 163546, '2005-04-21', 4, 1.0); +insert into ratings values (762, 136784, '2005-05-10', 5, 1.0); +insert into ratings values (763, 364518, '2003-08-13', 2, 1.0); +insert into ratings values (763, 69867, '2001-04-30', 2, 1.0); +insert into ratings values (763, 306466, '2001-09-25', 3, 1.0); +insert into ratings values (763, 276813, '2001-08-20', 2, 0.5); +insert into ratings values (763, 276813, '2001-08-20', 3, 0.5); +insert into ratings values (763, 30878, '2004-03-02', 4, 1.0); +insert into ratings values (764, 373243, '2004-10-15', 3, 0.2); +insert into ratings values (764, 373243, '2004-10-15', 4, 0.3); +insert into ratings values (764, 373243, '2004-10-15', 5, 0.5); +insert into ratings values (764, 119287, '2003-10-10', 2, 0.2); +insert into ratings values (764, 119287, '2003-10-10', 3, 0.6); +insert into ratings values (764, 119287, '2003-10-10', 4, 0.2); +insert into ratings values (764, 29395, '2003-09-15', 3, 0.2); +insert into ratings values (764, 29395, '2003-09-15', 4, 0.2); +insert into ratings values (764, 29395, '2003-09-15', 5, 0.6); +insert into ratings values (764, 162348, '2004-01-01', 4, 1.0); +insert into ratings values (764, 289162, '2003-12-09', 5, 1.0); +insert into ratings values (765, 56371, '2005-04-04', 1, 0.1); +insert into ratings values (765, 56371, '2005-04-04', 2, 0.4); +insert into ratings values (765, 56371, '2005-04-04', 3, 0.5); +insert into ratings values (765, 200071, '2005-07-23', 1, 0.5); +insert into ratings values (765, 200071, '2005-07-23', 2, 0.5); +insert into ratings values (765, 28588, '2005-04-13', 3, 1.0); +insert into ratings values (765, 184650, '2005-04-30', 2, 0.3); +insert into ratings values (765, 184650, '2005-04-30', 3, 0.7); +insert into ratings values (765, 24244, '2004-08-09', 2, 0.2); +insert into ratings values (765, 24244, '2004-08-09', 3, 0.5); +insert into ratings values (765, 24244, '2004-08-09', 4, 0.3); +insert into ratings values (766, 303849, '2005-09-19', 1, 0.8); +insert into ratings values (766, 303849, '2005-09-19', 2, 0.2); +insert into ratings values (766, 491331, '2005-09-04', 1, 0.4); +insert into ratings values (766, 491331, '2005-09-04', 2, 0.4); +insert into ratings values (766, 491331, '2005-09-04', 3, 0.2); +insert into ratings values (766, 300146, '2003-05-07', 2, 1.0); +insert into ratings values (766, 425995, '2005-07-20', 3, 0.6); +insert into ratings values (766, 425995, '2005-07-20', 4, 0.4); +insert into ratings values (766, 66109, '2003-09-16', 3, 1.0); +insert into ratings values (767, 458209, '2005-07-20', 2, 1.0); +insert into ratings values (767, 269983, '2005-09-09', 2, 0.3); +insert into ratings values (767, 269983, '2005-09-09', 3, 0.7); +insert into ratings values (767, 14110, '2005-05-06', 3, 0.1); +insert into ratings values (767, 14110, '2005-05-06', 4, 0.5); +insert into ratings values (767, 14110, '2005-05-06', 5, 0.4); +insert into ratings values (767, 152178, '2005-01-10', 4, 1.0); +insert into ratings values (767, 120288, '2005-07-07', 5, 1.0); +insert into ratings values (768, 14690, '2004-06-01', 3, 0.2); +insert into ratings values (768, 14690, '2004-06-01', 4, 0.4); +insert into ratings values (768, 14690, '2004-06-01', 5, 0.4); +insert into ratings values (768, 79160, '2003-12-21', 5, 1.0); +insert into ratings values (768, 432536, '2004-08-31', 3, 0.5); +insert into ratings values (768, 432536, '2004-08-31', 4, 0.5); +insert into ratings values (768, 61166, '2004-07-17', 2, 0.3); +insert into ratings values (768, 61166, '2004-07-17', 3, 0.6); +insert into ratings values (768, 61166, '2004-07-17', 4, 0.1); +insert into ratings values (768, 1333, '2005-09-12', 3, 0.1); +insert into ratings values (768, 1333, '2005-09-12', 4, 0.4); +insert into ratings values (768, 1333, '2005-09-12', 5, 0.5); +insert into ratings values (769, 317060, '2005-12-19', 3, 0.3); +insert into ratings values (769, 317060, '2005-12-19', 4, 0.1); +insert into ratings values (769, 317060, '2005-12-19', 5, 0.6); +insert into ratings values (769, 403531, '2005-07-16', 4, 0.5); +insert into ratings values (769, 403531, '2005-07-16', 5, 0.5); +insert into ratings values (769, 322425, '2005-05-27', 3, 0.1); +insert into ratings values (769, 322425, '2005-05-27', 4, 0.5); +insert into ratings values (769, 322425, '2005-05-27', 5, 0.4); +insert into ratings values (769, 125296, '2005-11-15', 3, 0.2); +insert into ratings values (769, 125296, '2005-11-15', 4, 0.2); +insert into ratings values (769, 125296, '2005-11-15', 5, 0.6); +insert into ratings values (769, 349572, '2005-07-07', 4, 0.6); +insert into ratings values (769, 349572, '2005-07-07', 5, 0.4); +insert into ratings values (770, 134768, '2004-12-09', 3, 1.0); +insert into ratings values (770, 471599, '2004-12-18', 4, 1.0); +insert into ratings values (770, 191481, '2004-10-18', 3, 1.0); +insert into ratings values (770, 489962, '2005-04-18', 4, 0.4); +insert into ratings values (770, 489962, '2005-04-18', 5, 0.6); +insert into ratings values (770, 455628, '2005-05-17', 2, 0.3); +insert into ratings values (770, 455628, '2005-05-17', 3, 0.6); +insert into ratings values (770, 455628, '2005-05-17', 4, 0.1); +insert into ratings values (771, 76196, '2002-01-08', 1, 0.4); +insert into ratings values (771, 76196, '2002-01-08', 2, 0.2); +insert into ratings values (771, 76196, '2002-01-08', 3, 0.4); +insert into ratings values (771, 185495, '2002-05-27', 2, 0.4); +insert into ratings values (771, 185495, '2002-05-27', 3, 0.4); +insert into ratings values (771, 185495, '2002-05-27', 4, 0.2); +insert into ratings values (771, 303948, '2004-09-20', 2, 0.1); +insert into ratings values (771, 303948, '2004-09-20', 3, 0.4); +insert into ratings values (771, 303948, '2004-09-20', 4, 0.5); +insert into ratings values (771, 53521, '2001-09-27', 1, 0.2); +insert into ratings values (771, 53521, '2001-09-27', 2, 0.5); +insert into ratings values (771, 53521, '2001-09-27', 3, 0.3); +insert into ratings values (771, 324403, '2003-05-20', 5, 1.0); +insert into ratings values (772, 107840, '2000-01-13', 3, 1.0); +insert into ratings values (772, 474628, '2003-11-07', 1, 1.0); +insert into ratings values (772, 82742, '2004-07-04', 1, 1.0); +insert into ratings values (772, 155342, '2003-03-30', 1, 1.0); +insert into ratings values (772, 49585, '2003-03-03', 1, 0.8); +insert into ratings values (772, 49585, '2003-03-03', 2, 0.2); +insert into ratings values (773, 487601, '2005-01-03', 3, 1.0); +insert into ratings values (773, 59100, '2005-09-22', 1, 0.1); +insert into ratings values (773, 59100, '2005-09-22', 2, 0.5); +insert into ratings values (773, 59100, '2005-09-22', 3, 0.4); +insert into ratings values (773, 83576, '2004-11-21', 4, 1.0); +insert into ratings values (773, 431732, '2005-11-14', 5, 1.0); +insert into ratings values (773, 486527, '2004-12-22', 3, 0.6); +insert into ratings values (773, 486527, '2004-12-22', 4, 0.4); +insert into ratings values (774, 160977, '2004-09-09', 5, 1.0); +insert into ratings values (774, 209202, '2005-08-23', 5, 1.0); +insert into ratings values (774, 395100, '2004-08-10', 3, 0.3); +insert into ratings values (774, 395100, '2004-08-10', 4, 0.6); +insert into ratings values (774, 395100, '2004-08-10', 5, 0.1); +insert into ratings values (774, 305767, '2005-08-16', 5, 1.0); +insert into ratings values (774, 14690, '2004-12-01', 4, 1.0); +insert into ratings values (775, 76196, '2002-01-29', 2, 0.4); +insert into ratings values (775, 76196, '2002-01-29', 3, 0.4); +insert into ratings values (775, 76196, '2002-01-29', 4, 0.2); +insert into ratings values (775, 283774, '2003-11-29', 3, 1.0); +insert into ratings values (775, 184544, '2005-05-28', 4, 0.4); +insert into ratings values (775, 184544, '2005-05-28', 5, 0.6); +insert into ratings values (775, 302275, '2004-05-11', 3, 0.3); +insert into ratings values (775, 302275, '2004-05-11', 4, 0.4); +insert into ratings values (775, 302275, '2004-05-11', 5, 0.3); +insert into ratings values (775, 66109, '2003-10-27', 2, 1.0); +insert into ratings values (776, 377802, '2001-08-02', 1, 0.4); +insert into ratings values (776, 377802, '2001-08-02', 2, 0.3); +insert into ratings values (776, 377802, '2001-08-02', 3, 0.3); +insert into ratings values (776, 68845, '2001-05-31', 5, 1.0); +insert into ratings values (776, 50409, '2004-02-28', 3, 0.2); +insert into ratings values (776, 50409, '2004-02-28', 4, 0.8); +insert into ratings values (776, 399993, '2002-10-10', 3, 0.8); +insert into ratings values (776, 399993, '2002-10-10', 4, 0.2); +insert into ratings values (776, 320770, '2001-05-10', 1, 1.0); +insert into ratings values (777, 193223, '2005-03-09', 3, 0.1); +insert into ratings values (777, 193223, '2005-03-09', 4, 0.6); +insert into ratings values (777, 193223, '2005-03-09', 5, 0.3); +insert into ratings values (777, 97786, '2005-12-07', 4, 0.3); +insert into ratings values (777, 97786, '2005-12-07', 5, 0.7); +insert into ratings values (777, 440220, '2005-07-12', 4, 0.5); +insert into ratings values (777, 440220, '2005-07-12', 5, 0.5); +insert into ratings values (777, 125296, '2005-07-21', 4, 1.0); +insert into ratings values (777, 290215, '2004-01-30', 2, 0.2); +insert into ratings values (777, 290215, '2004-01-30', 3, 0.6); +insert into ratings values (777, 290215, '2004-01-30', 4, 0.2); +insert into ratings values (778, 303948, '2005-11-28', 2, 0.7); +insert into ratings values (778, 303948, '2005-11-28', 3, 0.3); +insert into ratings values (778, 489458, '2005-10-10', 3, 0.3); +insert into ratings values (778, 489458, '2005-10-10', 4, 0.1); +insert into ratings values (778, 489458, '2005-10-10', 5, 0.6); +insert into ratings values (778, 370257, '2005-10-29', 5, 1.0); +insert into ratings values (778, 236760, '2005-10-09', 5, 1.0); +insert into ratings values (778, 3321, '2005-12-06', 1, 0.8); +insert into ratings values (778, 3321, '2005-12-06', 2, 0.2); +insert into ratings values (779, 461110, '2003-04-15', 1, 0.4); +insert into ratings values (779, 461110, '2003-04-15', 2, 0.6); +insert into ratings values (779, 96262, '2001-10-24', 1, 0.5); +insert into ratings values (779, 96262, '2001-10-24', 2, 0.2); +insert into ratings values (779, 96262, '2001-10-24', 3, 0.3); +insert into ratings values (779, 496561, '2002-12-04', 1, 0.5); +insert into ratings values (779, 496561, '2002-12-04', 2, 0.5); +insert into ratings values (779, 54974, '2001-08-26', 1, 0.7); +insert into ratings values (779, 54974, '2001-08-26', 2, 0.3); +insert into ratings values (779, 96409, '2005-03-18', 3, 0.2); +insert into ratings values (779, 96409, '2005-03-18', 4, 0.5); +insert into ratings values (779, 96409, '2005-03-18', 5, 0.3); +insert into ratings values (780, 403261, '2004-09-15', 2, 1.0); +insert into ratings values (780, 239343, '2004-06-26', 4, 1.0); +insert into ratings values (780, 156607, '2004-06-29', 4, 0.2); +insert into ratings values (780, 156607, '2004-06-29', 5, 0.8); +insert into ratings values (780, 97774, '2005-10-06', 4, 0.3); +insert into ratings values (780, 97774, '2005-10-06', 5, 0.7); +insert into ratings values (780, 445492, '2004-10-24', 3, 0.2); +insert into ratings values (780, 445492, '2004-10-24', 4, 0.4); +insert into ratings values (780, 445492, '2004-10-24', 5, 0.4); +insert into ratings values (781, 439931, '2004-11-04', 4, 1.0); +insert into ratings values (781, 488477, '2005-01-06', 3, 1.0); +insert into ratings values (781, 321658, '2004-10-21', 4, 1.0); +insert into ratings values (781, 225535, '2004-11-07', 4, 1.0); +insert into ratings values (781, 136430, '2004-12-19', 2, 1.0); +insert into ratings values (782, 90021, '2002-04-09', 3, 1.0); +insert into ratings values (782, 205660, '2005-04-15', 1, 0.4); +insert into ratings values (782, 205660, '2005-04-15', 2, 0.1); +insert into ratings values (782, 205660, '2005-04-15', 3, 0.5); +insert into ratings values (782, 195048, '2003-05-28', 1, 0.6); +insert into ratings values (782, 195048, '2003-05-28', 2, 0.4); +insert into ratings values (782, 130744, '2005-03-25', 3, 1.0); +insert into ratings values (782, 63025, '2005-09-22', 1, 0.2); +insert into ratings values (782, 63025, '2005-09-22', 2, 0.4); +insert into ratings values (782, 63025, '2005-09-22', 3, 0.4); +insert into ratings values (783, 86767, '2004-04-20', 4, 0.5); +insert into ratings values (783, 86767, '2004-04-20', 5, 0.5); +insert into ratings values (783, 314421, '2005-05-17', 2, 0.4); +insert into ratings values (783, 314421, '2005-05-17', 3, 0.4); +insert into ratings values (783, 314421, '2005-05-17', 4, 0.2); +insert into ratings values (783, 193223, '2005-10-17', 2, 0.3); +insert into ratings values (783, 193223, '2005-10-17', 3, 0.7); +insert into ratings values (783, 70976, '2004-02-28', 1, 0.5); +insert into ratings values (783, 70976, '2004-02-28', 2, 0.4); +insert into ratings values (783, 70976, '2004-02-28', 3, 0.1); +insert into ratings values (783, 454417, '2004-05-11', 2, 0.2); +insert into ratings values (783, 454417, '2004-05-11', 3, 0.5); +insert into ratings values (783, 454417, '2004-05-11', 4, 0.3); +insert into ratings values (784, 310856, '2005-08-04', 2, 0.3); +insert into ratings values (784, 310856, '2005-08-04', 3, 0.6); +insert into ratings values (784, 310856, '2005-08-04', 4, 0.1); +insert into ratings values (784, 108588, '2005-08-07', 3, 0.6); +insert into ratings values (784, 108588, '2005-08-07', 4, 0.4); +insert into ratings values (784, 300074, '2005-07-10', 1, 0.4); +insert into ratings values (784, 300074, '2005-07-10', 2, 0.5); +insert into ratings values (784, 300074, '2005-07-10', 3, 0.1); +insert into ratings values (784, 303948, '2005-11-28', 3, 1.0); +insert into ratings values (784, 266591, '2005-09-11', 4, 1.0); +insert into ratings values (785, 76196, '2002-02-05', 4, 0.4); +insert into ratings values (785, 76196, '2002-02-05', 5, 0.6); +insert into ratings values (785, 424286, '2001-06-16', 2, 0.3); +insert into ratings values (785, 424286, '2001-06-16', 3, 0.5); +insert into ratings values (785, 424286, '2001-06-16', 4, 0.2); +insert into ratings values (785, 415025, '2005-07-06', 3, 0.2); +insert into ratings values (785, 415025, '2005-07-06', 4, 0.8); +insert into ratings values (785, 244994, '2004-12-07', 4, 0.8); +insert into ratings values (785, 244994, '2004-12-07', 5, 0.2); +insert into ratings values (785, 153102, '2005-01-28', 3, 0.4); +insert into ratings values (785, 153102, '2005-01-28', 4, 0.1); +insert into ratings values (785, 153102, '2005-01-28', 5, 0.5); +insert into ratings values (786, 247794, '2000-10-06', 2, 1.0); +insert into ratings values (786, 769, '2005-04-08', 2, 0.3); +insert into ratings values (786, 769, '2005-04-08', 3, 0.6); +insert into ratings values (786, 769, '2005-04-08', 4, 0.1); +insert into ratings values (786, 126998, '2004-09-30', 2, 0.3); +insert into ratings values (786, 126998, '2004-09-30', 3, 0.6); +insert into ratings values (786, 126998, '2004-09-30', 4, 0.1); +insert into ratings values (786, 172720, '2003-08-20', 3, 0.4); +insert into ratings values (786, 172720, '2003-08-20', 4, 0.6); +insert into ratings values (786, 126677, '2005-03-24', 3, 0.2); +insert into ratings values (786, 126677, '2005-03-24', 4, 0.4); +insert into ratings values (786, 126677, '2005-03-24', 5, 0.4); +insert into ratings values (787, 178211, '2004-03-19', 3, 0.3); +insert into ratings values (787, 178211, '2004-03-19', 4, 0.6); +insert into ratings values (787, 178211, '2004-03-19', 5, 0.1); +insert into ratings values (787, 247940, '2004-11-22', 1, 0.4); +insert into ratings values (787, 247940, '2004-11-22', 2, 0.1); +insert into ratings values (787, 247940, '2004-11-22', 3, 0.5); +insert into ratings values (787, 162925, '2004-06-30', 1, 0.3); +insert into ratings values (787, 162925, '2004-06-30', 2, 0.7); +insert into ratings values (787, 70868, '2005-01-01', 2, 0.4); +insert into ratings values (787, 70868, '2005-01-01', 3, 0.6); +insert into ratings values (787, 409574, '2004-06-28', 2, 0.3); +insert into ratings values (787, 409574, '2004-06-28', 3, 0.7); +insert into ratings values (788, 306466, '2000-01-24', 3, 0.4); +insert into ratings values (788, 306466, '2000-01-24', 4, 0.6); +insert into ratings values (788, 254711, '2005-07-12', 1, 0.8); +insert into ratings values (788, 254711, '2005-07-12', 2, 0.2); +insert into ratings values (788, 477388, '2005-03-03', 1, 0.3); +insert into ratings values (788, 477388, '2005-03-03', 2, 0.5); +insert into ratings values (788, 477388, '2005-03-03', 3, 0.2); +insert into ratings values (788, 449288, '2000-08-31', 3, 0.4); +insert into ratings values (788, 449288, '2000-08-31', 4, 0.6); +insert into ratings values (788, 276813, '2000-12-31', 3, 0.3); +insert into ratings values (788, 276813, '2000-12-31', 4, 0.4); +insert into ratings values (788, 276813, '2000-12-31', 5, 0.3); +insert into ratings values (789, 306466, '2002-04-09', 4, 1.0); +insert into ratings values (789, 477388, '2000-05-02', 3, 1.0); +insert into ratings values (789, 276813, '2000-12-31', 3, 0.5); +insert into ratings values (789, 276813, '2000-12-31', 4, 0.4); +insert into ratings values (789, 276813, '2000-12-31', 5, 0.1); +insert into ratings values (789, 393953, '2004-08-05', 3, 0.3); +insert into ratings values (789, 393953, '2004-08-05', 4, 0.5); +insert into ratings values (789, 393953, '2004-08-05', 5, 0.2); +insert into ratings values (789, 233058, '2005-07-28', 1, 0.3); +insert into ratings values (789, 233058, '2005-07-28', 2, 0.4); +insert into ratings values (789, 233058, '2005-07-28', 3, 0.3); +insert into ratings values (790, 75971, '2004-04-16', 4, 1.0); +insert into ratings values (790, 284096, '2005-02-25', 3, 1.0); +insert into ratings values (790, 319119, '2005-07-10', 3, 0.1); +insert into ratings values (790, 319119, '2005-07-10', 4, 0.6); +insert into ratings values (790, 319119, '2005-07-10', 5, 0.3); +insert into ratings values (790, 445828, '2001-09-25', 5, 1.0); +insert into ratings values (790, 408536, '2002-04-07', 4, 1.0); +insert into ratings values (791, 373295, '2004-11-29', 3, 0.2); +insert into ratings values (791, 373295, '2004-11-29', 4, 0.4); +insert into ratings values (791, 373295, '2004-11-29', 5, 0.4); +insert into ratings values (791, 71148, '2004-09-17', 3, 1.0); +insert into ratings values (791, 83643, '2005-05-07', 1, 0.5); +insert into ratings values (791, 83643, '2005-05-07', 2, 0.5); +insert into ratings values (791, 283486, '2005-05-20', 4, 0.2); +insert into ratings values (791, 283486, '2005-05-20', 5, 0.8); +insert into ratings values (791, 200255, '2005-10-24', 3, 0.3); +insert into ratings values (791, 200255, '2005-10-24', 4, 0.3); +insert into ratings values (791, 200255, '2005-10-24', 5, 0.4); +insert into ratings values (792, 416956, '2005-03-22', 5, 1.0); +insert into ratings values (792, 391980, '2005-08-08', 3, 0.6); +insert into ratings values (792, 391980, '2005-08-08', 4, 0.4); +insert into ratings values (792, 161768, '2005-04-26', 2, 0.4); +insert into ratings values (792, 161768, '2005-04-26', 3, 0.6); +insert into ratings values (792, 336579, '2005-12-22', 2, 0.4); +insert into ratings values (792, 336579, '2005-12-22', 3, 0.6); +insert into ratings values (792, 7196, '2005-04-12', 1, 0.5); +insert into ratings values (792, 7196, '2005-04-12', 2, 0.2); +insert into ratings values (792, 7196, '2005-04-12', 3, 0.3); +insert into ratings values (793, 190795, '2004-12-26', 5, 1.0); +insert into ratings values (793, 489962, '2004-09-16', 4, 0.6); +insert into ratings values (793, 489962, '2004-09-16', 5, 0.4); +insert into ratings values (793, 386510, '2005-12-14', 2, 0.3); +insert into ratings values (793, 386510, '2005-12-14', 3, 0.4); +insert into ratings values (793, 386510, '2005-12-14', 4, 0.3); +insert into ratings values (793, 132815, '2004-10-26', 4, 1.0); +insert into ratings values (793, 398641, '2005-02-21', 4, 0.7); +insert into ratings values (793, 398641, '2005-02-21', 5, 0.3); +insert into ratings values (794, 157003, '2004-04-06', 2, 0.5); +insert into ratings values (794, 157003, '2004-04-06', 3, 0.4); +insert into ratings values (794, 157003, '2004-04-06', 4, 0.1); +insert into ratings values (794, 409415, '2005-01-10', 3, 1.0); +insert into ratings values (794, 160600, '2005-01-19', 3, 0.2); +insert into ratings values (794, 160600, '2005-01-19', 4, 0.5); +insert into ratings values (794, 160600, '2005-01-19', 5, 0.3); +insert into ratings values (794, 145914, '2005-03-04', 4, 0.5); +insert into ratings values (794, 145914, '2005-03-04', 5, 0.5); +insert into ratings values (794, 21983, '2004-03-30', 2, 0.1); +insert into ratings values (794, 21983, '2004-03-30', 3, 0.6); +insert into ratings values (794, 21983, '2004-03-30', 4, 0.3); +insert into ratings values (795, 369430, '2002-07-10', 1, 0.1); +insert into ratings values (795, 369430, '2002-07-10', 2, 0.4); +insert into ratings values (795, 369430, '2002-07-10', 3, 0.5); +insert into ratings values (795, 76196, '2002-01-13', 2, 1.0); +insert into ratings values (795, 251113, '2005-12-29', 1, 1.0); +insert into ratings values (795, 353493, '2004-08-10', 3, 0.1); +insert into ratings values (795, 353493, '2004-08-10', 4, 0.6); +insert into ratings values (795, 353493, '2004-08-10', 5, 0.3); +insert into ratings values (795, 455442, '2005-01-28', 2, 0.7); +insert into ratings values (795, 455442, '2005-01-28', 3, 0.3); +insert into ratings values (796, 407064, '2002-11-02', 2, 0.2); +insert into ratings values (796, 407064, '2002-11-02', 3, 0.6); +insert into ratings values (796, 407064, '2002-11-02', 4, 0.2); +insert into ratings values (796, 47411, '2003-06-19', 3, 0.1); +insert into ratings values (796, 47411, '2003-06-19', 4, 0.5); +insert into ratings values (796, 47411, '2003-06-19', 5, 0.4); +insert into ratings values (796, 489962, '2003-09-08', 2, 0.3); +insert into ratings values (796, 489962, '2003-09-08', 3, 0.5); +insert into ratings values (796, 489962, '2003-09-08', 4, 0.2); +insert into ratings values (796, 205754, '2000-12-30', 3, 0.8); +insert into ratings values (796, 205754, '2000-12-30', 4, 0.2); +insert into ratings values (796, 8158, '2005-05-22', 3, 0.3); +insert into ratings values (796, 8158, '2005-05-22', 4, 0.1); +insert into ratings values (796, 8158, '2005-05-22', 5, 0.6); +insert into ratings values (797, 132633, '2004-11-27', 4, 0.2); +insert into ratings values (797, 132633, '2004-11-27', 5, 0.8); +insert into ratings values (797, 390508, '2002-08-10', 1, 0.5); +insert into ratings values (797, 390508, '2002-08-10', 2, 0.2); +insert into ratings values (797, 390508, '2002-08-10', 3, 0.3); +insert into ratings values (797, 14690, '2002-07-08', 3, 0.5); +insert into ratings values (797, 14690, '2002-07-08', 4, 0.5); +insert into ratings values (797, 163830, '2002-06-16', 3, 0.4); +insert into ratings values (797, 163830, '2002-06-16', 4, 0.5); +insert into ratings values (797, 163830, '2002-06-16', 5, 0.1); +insert into ratings values (797, 200058, '2005-09-26', 4, 0.7); +insert into ratings values (797, 200058, '2005-09-26', 5, 0.3); +insert into ratings values (798, 364518, '2002-05-02', 3, 0.1); +insert into ratings values (798, 364518, '2002-05-02', 4, 0.6); +insert into ratings values (798, 364518, '2002-05-02', 5, 0.3); +insert into ratings values (798, 53679, '2005-07-08', 3, 0.2); +insert into ratings values (798, 53679, '2005-07-08', 4, 0.6); +insert into ratings values (798, 53679, '2005-07-08', 5, 0.2); +insert into ratings values (798, 69867, '2001-01-02', 3, 0.2); +insert into ratings values (798, 69867, '2001-01-02', 4, 0.6); +insert into ratings values (798, 69867, '2001-01-02', 5, 0.2); +insert into ratings values (798, 306466, '2001-03-29', 3, 0.5); +insert into ratings values (798, 306466, '2001-03-29', 4, 0.4); +insert into ratings values (798, 306466, '2001-03-29', 5, 0.1); +insert into ratings values (798, 449288, '2000-11-14', 4, 0.4); +insert into ratings values (798, 449288, '2000-11-14', 5, 0.6); +insert into ratings values (799, 474582, '2005-06-25', 2, 0.3); +insert into ratings values (799, 474582, '2005-06-25', 3, 0.7); +insert into ratings values (799, 48536, '2005-11-12', 3, 0.1); +insert into ratings values (799, 48536, '2005-11-12', 4, 0.4); +insert into ratings values (799, 48536, '2005-11-12', 5, 0.5); +insert into ratings values (799, 497196, '2004-10-10', 4, 0.8); +insert into ratings values (799, 497196, '2004-10-10', 5, 0.2); +insert into ratings values (799, 481668, '2005-11-09', 4, 1.0); +insert into ratings values (799, 264160, '2005-07-06', 3, 0.3); +insert into ratings values (799, 264160, '2005-07-06', 4, 0.3); +insert into ratings values (799, 264160, '2005-07-06', 5, 0.4); +insert into ratings values (800, 71148, '2004-05-06', 1, 0.5); +insert into ratings values (800, 71148, '2004-05-06', 2, 0.5); +insert into ratings values (800, 328364, '2002-05-03', 2, 0.5); +insert into ratings values (800, 328364, '2002-05-03', 3, 0.5); +insert into ratings values (800, 106062, '2005-01-19', 2, 0.7); +insert into ratings values (800, 106062, '2005-01-19', 3, 0.3); +insert into ratings values (800, 235789, '2004-10-27', 2, 0.1); +insert into ratings values (800, 235789, '2004-10-27', 3, 0.4); +insert into ratings values (800, 235789, '2004-10-27', 4, 0.5); +insert into ratings values (800, 471524, '2002-12-21', 2, 0.8); +insert into ratings values (800, 471524, '2002-12-21', 3, 0.2); +insert into ratings values (801, 247794, '2004-06-16', 1, 0.4); +insert into ratings values (801, 247794, '2004-06-16', 2, 0.2); +insert into ratings values (801, 247794, '2004-06-16', 3, 0.4); +insert into ratings values (801, 469021, '2004-06-21', 3, 1.0); +insert into ratings values (801, 380354, '2005-04-03', 4, 0.6); +insert into ratings values (801, 380354, '2005-04-03', 5, 0.4); +insert into ratings values (801, 178914, '2005-11-25', 3, 0.6); +insert into ratings values (801, 178914, '2005-11-25', 4, 0.4); +insert into ratings values (801, 186129, '2004-09-29', 2, 0.1); +insert into ratings values (801, 186129, '2004-09-29', 3, 0.5); +insert into ratings values (801, 186129, '2004-09-29', 4, 0.4); +insert into ratings values (802, 499718, '2005-01-03', 3, 1.0); +insert into ratings values (802, 478176, '2004-11-03', 2, 0.4); +insert into ratings values (802, 478176, '2004-11-03', 3, 0.6); +insert into ratings values (802, 386509, '2005-10-03', 4, 1.0); +insert into ratings values (802, 463781, '2004-11-22', 3, 1.0); +insert into ratings values (802, 213486, '2005-07-08', 3, 0.5); +insert into ratings values (802, 213486, '2005-07-08', 4, 0.5); +insert into ratings values (803, 296171, '2003-02-16', 2, 0.4); +insert into ratings values (803, 296171, '2003-02-16', 3, 0.5); +insert into ratings values (803, 296171, '2003-02-16', 4, 0.1); +insert into ratings values (803, 349975, '2005-01-29', 4, 0.8); +insert into ratings values (803, 349975, '2005-01-29', 5, 0.2); +insert into ratings values (803, 464219, '2003-01-02', 1, 0.5); +insert into ratings values (803, 464219, '2003-01-02', 2, 0.4); +insert into ratings values (803, 464219, '2003-01-02', 3, 0.1); +insert into ratings values (803, 330486, '2003-02-18', 1, 0.1); +insert into ratings values (803, 330486, '2003-02-18', 2, 0.5); +insert into ratings values (803, 330486, '2003-02-18', 3, 0.4); +insert into ratings values (803, 425786, '2002-11-14', 2, 1.0); +insert into ratings values (804, 10688, '2005-06-07', 4, 0.5); +insert into ratings values (804, 10688, '2005-06-07', 5, 0.5); +insert into ratings values (804, 440220, '2005-07-26', 3, 0.2); +insert into ratings values (804, 440220, '2005-07-26', 4, 0.2); +insert into ratings values (804, 440220, '2005-07-26', 5, 0.6); +insert into ratings values (804, 303948, '2005-07-15', 4, 0.8); +insert into ratings values (804, 303948, '2005-07-15', 5, 0.2); +insert into ratings values (804, 216134, '2005-05-18', 3, 1.0); +insert into ratings values (804, 125296, '2005-08-23', 3, 0.1); +insert into ratings values (804, 125296, '2005-08-23', 4, 0.3); +insert into ratings values (804, 125296, '2005-08-23', 5, 0.6); +insert into ratings values (805, 264160, '2005-08-28', 3, 0.2); +insert into ratings values (805, 264160, '2005-08-28', 4, 0.5); +insert into ratings values (805, 264160, '2005-08-28', 5, 0.3); +insert into ratings values (805, 200255, '2005-10-10', 4, 0.2); +insert into ratings values (805, 200255, '2005-10-10', 5, 0.8); +insert into ratings values (805, 303948, '2004-12-27', 4, 0.6); +insert into ratings values (805, 303948, '2004-12-27', 5, 0.4); +insert into ratings values (805, 4576, '2005-05-20', 4, 0.4); +insert into ratings values (805, 4576, '2005-05-20', 5, 0.6); +insert into ratings values (805, 261107, '2005-08-09', 3, 0.5); +insert into ratings values (805, 261107, '2005-08-09', 4, 0.1); +insert into ratings values (805, 261107, '2005-08-09', 5, 0.4); +insert into ratings values (806, 146851, '2005-04-29', 4, 0.7); +insert into ratings values (806, 146851, '2005-04-29', 5, 0.3); +insert into ratings values (806, 326587, '2004-11-06', 2, 0.4); +insert into ratings values (806, 326587, '2004-11-06', 3, 0.5); +insert into ratings values (806, 326587, '2004-11-06', 4, 0.1); +insert into ratings values (806, 333841, '2005-08-17', 4, 1.0); +insert into ratings values (806, 107066, '2005-02-26', 2, 0.2); +insert into ratings values (806, 107066, '2005-02-26', 3, 0.6); +insert into ratings values (806, 107066, '2005-02-26', 4, 0.2); +insert into ratings values (806, 332152, '2005-03-15', 3, 0.5); +insert into ratings values (806, 332152, '2005-03-15', 4, 0.4); +insert into ratings values (806, 332152, '2005-03-15', 5, 0.1); +insert into ratings values (807, 14690, '2004-02-02', 4, 1.0); +insert into ratings values (807, 247794, '2004-01-07', 3, 0.8); +insert into ratings values (807, 247794, '2004-01-07', 4, 0.2); +insert into ratings values (807, 433803, '2005-04-07', 4, 1.0); +insert into ratings values (807, 92015, '2004-01-30', 3, 0.3); +insert into ratings values (807, 92015, '2004-01-30', 4, 0.5); +insert into ratings values (807, 92015, '2004-01-30', 5, 0.2); +insert into ratings values (807, 46036, '2003-10-04', 3, 0.5); +insert into ratings values (807, 46036, '2003-10-04', 4, 0.5); +insert into ratings values (808, 276813, '2001-01-03', 2, 1.0); +insert into ratings values (808, 35208, '2005-07-26', 4, 0.5); +insert into ratings values (808, 35208, '2005-07-26', 5, 0.5); +insert into ratings values (808, 442739, '2005-01-05', 3, 1.0); +insert into ratings values (808, 461110, '2004-11-01', 3, 0.8); +insert into ratings values (808, 461110, '2004-11-01', 4, 0.2); +insert into ratings values (808, 409415, '2005-01-10', 2, 1.0); +insert into ratings values (809, 173183, '2003-07-09', 4, 1.0); +insert into ratings values (809, 263315, '2004-09-27', 2, 1.0); +insert into ratings values (809, 261970, '2005-05-11', 4, 1.0); +insert into ratings values (809, 276837, '2005-10-11', 2, 0.4); +insert into ratings values (809, 276837, '2005-10-11', 3, 0.6); +insert into ratings values (809, 188099, '2005-12-11', 5, 1.0); +insert into ratings values (810, 385884, '2005-02-13', 2, 1.0); +insert into ratings values (810, 312145, '2005-10-14', 3, 1.0); +insert into ratings values (810, 8121, '2005-10-24', 1, 0.7); +insert into ratings values (810, 8121, '2005-10-24', 2, 0.3); +insert into ratings values (810, 238740, '2005-06-06', 2, 0.1); +insert into ratings values (810, 238740, '2005-06-06', 3, 0.5); +insert into ratings values (810, 238740, '2005-06-06', 4, 0.4); +insert into ratings values (810, 180396, '2005-05-18', 1, 1.0); +insert into ratings values (811, 69867, '2000-01-16', 1, 0.2); +insert into ratings values (811, 69867, '2000-01-16', 2, 0.8); +insert into ratings values (811, 306466, '2001-02-27', 1, 0.4); +insert into ratings values (811, 306466, '2001-02-27', 2, 0.6); +insert into ratings values (811, 477388, '2000-04-15', 2, 0.2); +insert into ratings values (811, 477388, '2000-04-15', 3, 0.6); +insert into ratings values (811, 477388, '2000-04-15', 4, 0.2); +insert into ratings values (811, 66568, '2001-02-03', 2, 1.0); +insert into ratings values (811, 132390, '2001-02-24', 3, 0.3); +insert into ratings values (811, 132390, '2001-02-24', 4, 0.4); +insert into ratings values (811, 132390, '2001-02-24', 5, 0.3); +insert into ratings values (812, 253214, '2005-11-22', 3, 0.2); +insert into ratings values (812, 253214, '2005-11-22', 4, 0.4); +insert into ratings values (812, 253214, '2005-11-22', 5, 0.4); +insert into ratings values (812, 491331, '2005-09-05', 3, 0.4); +insert into ratings values (812, 491331, '2005-09-05', 4, 0.6); +insert into ratings values (812, 301456, '2005-10-23', 3, 0.2); +insert into ratings values (812, 301456, '2005-10-23', 4, 0.4); +insert into ratings values (812, 301456, '2005-10-23', 5, 0.4); +insert into ratings values (812, 94326, '2005-10-13', 4, 1.0); +insert into ratings values (812, 258918, '2005-05-02', 4, 0.5); +insert into ratings values (812, 258918, '2005-05-02', 5, 0.5); +insert into ratings values (813, 66109, '2003-10-27', 2, 0.5); +insert into ratings values (813, 66109, '2003-10-27', 3, 0.5); +insert into ratings values (813, 155342, '2003-03-30', 1, 0.5); +insert into ratings values (813, 155342, '2003-03-30', 2, 0.5); +insert into ratings values (813, 293461, '2005-04-26', 4, 0.4); +insert into ratings values (813, 293461, '2005-04-26', 5, 0.6); +insert into ratings values (813, 202667, '2004-09-02', 2, 0.4); +insert into ratings values (813, 202667, '2004-09-02', 3, 0.6); +insert into ratings values (813, 49585, '2003-01-20', 1, 0.6); +insert into ratings values (813, 49585, '2003-01-20', 2, 0.3); +insert into ratings values (813, 49585, '2003-01-20', 3, 0.1); +insert into ratings values (814, 41412, '2002-03-28', 1, 0.6); +insert into ratings values (814, 41412, '2002-03-28', 2, 0.2); +insert into ratings values (814, 41412, '2002-03-28', 3, 0.2); +insert into ratings values (814, 105833, '2004-04-07', 3, 1.0); +insert into ratings values (814, 497196, '2003-06-29', 2, 0.7); +insert into ratings values (814, 497196, '2003-06-29', 3, 0.3); +insert into ratings values (814, 319119, '2004-11-28', 2, 0.5); +insert into ratings values (814, 319119, '2004-11-28', 3, 0.4); +insert into ratings values (814, 319119, '2004-11-28', 4, 0.1); +insert into ratings values (814, 303948, '2005-01-11', 3, 0.4); +insert into ratings values (814, 303948, '2005-01-11', 4, 0.6); +insert into ratings values (815, 281396, '2004-02-24', 3, 0.3); +insert into ratings values (815, 281396, '2004-02-24', 4, 0.1); +insert into ratings values (815, 281396, '2004-02-24', 5, 0.6); +insert into ratings values (815, 274106, '2003-10-29', 2, 1.0); +insert into ratings values (815, 202667, '2005-07-28', 4, 1.0); +insert into ratings values (815, 478176, '2004-05-26', 4, 1.0); +insert into ratings values (815, 455134, '2004-12-08', 3, 1.0); +insert into ratings values (816, 181725, '2005-04-14', 2, 0.5); +insert into ratings values (816, 181725, '2005-04-14', 3, 0.5); +insert into ratings values (816, 210972, '2005-08-18', 3, 0.3); +insert into ratings values (816, 210972, '2005-08-18', 4, 0.7); +insert into ratings values (816, 497196, '2004-02-27', 3, 0.3); +insert into ratings values (816, 497196, '2004-02-27', 4, 0.7); +insert into ratings values (816, 217082, '2004-11-02', 3, 0.3); +insert into ratings values (816, 217082, '2004-11-02', 4, 0.7); +insert into ratings values (816, 345916, '2005-02-24', 4, 1.0); +insert into ratings values (817, 306466, '2002-05-05', 3, 1.0); +insert into ratings values (817, 426397, '2005-07-18', 4, 0.2); +insert into ratings values (817, 426397, '2005-07-18', 5, 0.8); +insert into ratings values (817, 139297, '2004-01-20', 2, 0.2); +insert into ratings values (817, 139297, '2004-01-20', 3, 0.5); +insert into ratings values (817, 139297, '2004-01-20', 4, 0.3); +insert into ratings values (817, 282391, '2004-10-26', 3, 0.4); +insert into ratings values (817, 282391, '2004-10-26', 4, 0.4); +insert into ratings values (817, 282391, '2004-10-26', 5, 0.2); +insert into ratings values (817, 466862, '2005-06-03', 3, 1.0); +insert into ratings values (818, 364518, '2003-08-13', 1, 0.1); +insert into ratings values (818, 364518, '2003-08-13', 2, 0.4); +insert into ratings values (818, 364518, '2003-08-13', 3, 0.5); +insert into ratings values (818, 306466, '2001-05-11', 1, 0.5); +insert into ratings values (818, 306466, '2001-05-11', 2, 0.4); +insert into ratings values (818, 306466, '2001-05-11', 3, 0.1); +insert into ratings values (818, 175214, '2005-07-20', 2, 0.3); +insert into ratings values (818, 175214, '2005-07-20', 3, 0.6); +insert into ratings values (818, 175214, '2005-07-20', 4, 0.1); +insert into ratings values (818, 448870, '2002-11-13', 4, 1.0); +insert into ratings values (818, 30878, '2004-11-05', 3, 0.4); +insert into ratings values (818, 30878, '2004-11-05', 4, 0.6); +insert into ratings values (819, 496476, '2005-07-05', 4, 1.0); +insert into ratings values (819, 306466, '2001-09-04', 2, 0.1); +insert into ratings values (819, 306466, '2001-09-04', 3, 0.6); +insert into ratings values (819, 306466, '2001-09-04', 4, 0.3); +insert into ratings values (819, 30878, '2004-01-25', 3, 0.1); +insert into ratings values (819, 30878, '2004-01-25', 4, 0.6); +insert into ratings values (819, 30878, '2004-01-25', 5, 0.3); +insert into ratings values (819, 394693, '2005-07-26', 3, 0.1); +insert into ratings values (819, 394693, '2005-07-26', 4, 0.6); +insert into ratings values (819, 394693, '2005-07-26', 5, 0.3); +insert into ratings values (819, 146200, '2004-08-08', 5, 1.0); +insert into ratings values (820, 249052, '2005-11-05', 5, 1.0); +insert into ratings values (820, 2442, '2005-12-11', 1, 0.6); +insert into ratings values (820, 2442, '2005-12-11', 2, 0.2); +insert into ratings values (820, 2442, '2005-12-11', 3, 0.2); +insert into ratings values (820, 400744, '2005-11-28', 2, 0.3); +insert into ratings values (820, 400744, '2005-11-28', 3, 0.5); +insert into ratings values (820, 400744, '2005-11-28', 4, 0.2); +insert into ratings values (820, 100268, '2005-11-18', 2, 0.8); +insert into ratings values (820, 100268, '2005-11-18', 3, 0.2); +insert into ratings values (820, 115821, '2005-11-04', 1, 0.6); +insert into ratings values (820, 115821, '2005-11-04', 2, 0.4); +insert into ratings values (821, 8299, '2003-05-29', 1, 0.3); +insert into ratings values (821, 8299, '2003-05-29', 2, 0.5); +insert into ratings values (821, 8299, '2003-05-29', 3, 0.2); +insert into ratings values (821, 336696, '2005-08-15', 2, 0.4); +insert into ratings values (821, 336696, '2005-08-15', 3, 0.6); +insert into ratings values (821, 496975, '2003-12-03', 1, 0.5); +insert into ratings values (821, 496975, '2003-12-03', 2, 0.4); +insert into ratings values (821, 496975, '2003-12-03', 3, 0.1); +insert into ratings values (821, 325526, '2003-10-01', 3, 1.0); +insert into ratings values (821, 465885, '2003-08-19', 3, 1.0); +insert into ratings values (822, 231140, '2005-05-21', 3, 0.2); +insert into ratings values (822, 231140, '2005-05-21', 4, 0.2); +insert into ratings values (822, 231140, '2005-05-21', 5, 0.6); +insert into ratings values (822, 105595, '2005-06-10', 3, 0.2); +insert into ratings values (822, 105595, '2005-06-10', 4, 0.2); +insert into ratings values (822, 105595, '2005-06-10', 5, 0.6); +insert into ratings values (822, 481668, '2005-06-28', 1, 0.4); +insert into ratings values (822, 481668, '2005-06-28', 2, 0.6); +insert into ratings values (822, 447223, '2005-11-09', 4, 1.0); +insert into ratings values (822, 264160, '2005-07-12', 1, 1.0); +insert into ratings values (823, 328386, '2005-09-23', 3, 1.0); +insert into ratings values (823, 396576, '2005-12-06', 2, 0.8); +insert into ratings values (823, 396576, '2005-12-06', 3, 0.2); +insert into ratings values (823, 87184, '2005-08-18', 2, 0.4); +insert into ratings values (823, 87184, '2005-08-18', 3, 0.5); +insert into ratings values (823, 87184, '2005-08-18', 4, 0.1); +insert into ratings values (823, 302194, '2005-05-11', 3, 0.1); +insert into ratings values (823, 302194, '2005-05-11', 4, 0.4); +insert into ratings values (823, 302194, '2005-05-11', 5, 0.5); +insert into ratings values (823, 239167, '2005-07-11', 3, 0.2); +insert into ratings values (823, 239167, '2005-07-11', 4, 0.2); +insert into ratings values (823, 239167, '2005-07-11', 5, 0.6); +insert into ratings values (824, 487832, '2004-12-15', 4, 1.0); +insert into ratings values (824, 470291, '2005-06-25', 4, 1.0); +insert into ratings values (824, 218097, '2004-09-12', 3, 0.6); +insert into ratings values (824, 218097, '2004-09-12', 4, 0.4); +insert into ratings values (824, 40330, '2004-08-25', 1, 0.8); +insert into ratings values (824, 40330, '2004-08-25', 2, 0.2); +insert into ratings values (824, 7602, '2005-08-11', 5, 1.0); +insert into ratings values (825, 314421, '2005-05-19', 2, 0.3); +insert into ratings values (825, 314421, '2005-05-19', 3, 0.7); +insert into ratings values (825, 22175, '2005-06-05', 3, 0.4); +insert into ratings values (825, 22175, '2005-06-05', 4, 0.1); +insert into ratings values (825, 22175, '2005-06-05', 5, 0.5); +insert into ratings values (825, 44317, '2005-06-23', 3, 0.6); +insert into ratings values (825, 44317, '2005-06-23', 4, 0.4); +insert into ratings values (825, 114393, '2005-09-20', 3, 0.2); +insert into ratings values (825, 114393, '2005-09-20', 4, 0.6); +insert into ratings values (825, 114393, '2005-09-20', 5, 0.2); +insert into ratings values (825, 66187, '2005-10-07', 2, 0.5); +insert into ratings values (825, 66187, '2005-10-07', 3, 0.5); +insert into ratings values (826, 86062, '2005-09-09', 2, 0.1); +insert into ratings values (826, 86062, '2005-09-09', 3, 0.6); +insert into ratings values (826, 86062, '2005-09-09', 4, 0.3); +insert into ratings values (826, 301456, '2005-10-23', 5, 1.0); +insert into ratings values (826, 327636, '2005-06-01', 3, 0.1); +insert into ratings values (826, 327636, '2005-06-01', 4, 0.4); +insert into ratings values (826, 327636, '2005-06-01', 5, 0.5); +insert into ratings values (826, 347923, '2005-09-08', 2, 0.6); +insert into ratings values (826, 347923, '2005-09-08', 3, 0.4); +insert into ratings values (826, 54325, '2005-08-19', 5, 1.0); +insert into ratings values (827, 497196, '2003-04-13', 2, 0.5); +insert into ratings values (827, 497196, '2003-04-13', 3, 0.5); +insert into ratings values (827, 126998, '2004-06-10', 3, 1.0); +insert into ratings values (827, 109089, '2004-07-16', 3, 1.0); +insert into ratings values (827, 315229, '2005-06-29', 3, 0.3); +insert into ratings values (827, 315229, '2005-06-29', 4, 0.6); +insert into ratings values (827, 315229, '2005-06-29', 5, 0.1); +insert into ratings values (827, 380192, '2001-02-07', 4, 0.7); +insert into ratings values (827, 380192, '2001-02-07', 5, 0.3); +insert into ratings values (828, 361407, '2003-04-30', 1, 0.4); +insert into ratings values (828, 361407, '2003-04-30', 2, 0.6); +insert into ratings values (828, 306781, '2003-12-10', 5, 1.0); +insert into ratings values (828, 131329, '2005-06-07', 3, 1.0); +insert into ratings values (828, 221091, '2005-01-25', 2, 0.2); +insert into ratings values (828, 221091, '2005-01-25', 3, 0.6); +insert into ratings values (828, 221091, '2005-01-25', 4, 0.2); +insert into ratings values (828, 384050, '2005-09-08', 2, 0.2); +insert into ratings values (828, 384050, '2005-09-08', 3, 0.4); +insert into ratings values (828, 384050, '2005-09-08', 4, 0.4); +insert into ratings values (829, 69867, '2000-03-17', 1, 0.4); +insert into ratings values (829, 69867, '2000-03-17', 2, 0.3); +insert into ratings values (829, 69867, '2000-03-17', 3, 0.3); +insert into ratings values (829, 306466, '2001-02-27', 3, 0.8); +insert into ratings values (829, 306466, '2001-02-27', 4, 0.2); +insert into ratings values (829, 477388, '2000-04-15', 1, 0.2); +insert into ratings values (829, 477388, '2000-04-15', 2, 0.5); +insert into ratings values (829, 477388, '2000-04-15', 3, 0.3); +insert into ratings values (829, 276813, '2000-12-31', 2, 0.2); +insert into ratings values (829, 276813, '2000-12-31', 3, 0.4); +insert into ratings values (829, 276813, '2000-12-31', 4, 0.4); +insert into ratings values (829, 132390, '2001-02-24', 1, 0.6); +insert into ratings values (829, 132390, '2001-02-24', 2, 0.1); +insert into ratings values (829, 132390, '2001-02-24', 3, 0.3); +insert into ratings values (830, 497196, '2003-04-13', 2, 1.0); +insert into ratings values (830, 126998, '2004-05-27', 2, 0.2); +insert into ratings values (830, 126998, '2004-05-27', 3, 0.5); +insert into ratings values (830, 126998, '2004-05-27', 4, 0.3); +insert into ratings values (830, 429038, '2004-11-11', 3, 1.0); +insert into ratings values (830, 303948, '2005-01-19', 2, 0.1); +insert into ratings values (830, 303948, '2005-01-19', 3, 0.4); +insert into ratings values (830, 303948, '2005-01-19', 4, 0.5); +insert into ratings values (830, 85856, '2004-10-15', 3, 0.1); +insert into ratings values (830, 85856, '2004-10-15', 4, 0.5); +insert into ratings values (830, 85856, '2004-10-15', 5, 0.4); +insert into ratings values (831, 306466, '2002-01-19', 2, 1.0); +insert into ratings values (831, 276813, '2002-01-21', 2, 0.3); +insert into ratings values (831, 276813, '2002-01-21', 3, 0.4); +insert into ratings values (831, 276813, '2002-01-21', 4, 0.3); +insert into ratings values (831, 30878, '2004-07-20', 3, 0.4); +insert into ratings values (831, 30878, '2004-07-20', 4, 0.6); +insert into ratings values (831, 395744, '2005-08-13', 2, 0.5); +insert into ratings values (831, 395744, '2005-08-13', 3, 0.4); +insert into ratings values (831, 395744, '2005-08-13', 4, 0.1); +insert into ratings values (831, 339448, '2004-05-31', 3, 0.3); +insert into ratings values (831, 339448, '2004-05-31', 4, 0.5); +insert into ratings values (831, 339448, '2004-05-31', 5, 0.2); +insert into ratings values (832, 135718, '2005-09-02', 4, 1.0); +insert into ratings values (832, 261048, '2004-08-30', 4, 0.6); +insert into ratings values (832, 261048, '2004-08-30', 5, 0.4); +insert into ratings values (832, 458900, '2004-09-20', 4, 1.0); +insert into ratings values (832, 167993, '2004-10-07', 4, 0.3); +insert into ratings values (832, 167993, '2004-10-07', 5, 0.7); +insert into ratings values (832, 442739, '2005-01-05', 3, 0.1); +insert into ratings values (832, 442739, '2005-01-05', 4, 0.3); +insert into ratings values (832, 442739, '2005-01-05', 5, 0.6); +insert into ratings values (833, 364518, '2004-01-27', 2, 0.2); +insert into ratings values (833, 364518, '2004-01-27', 3, 0.6); +insert into ratings values (833, 364518, '2004-01-27', 4, 0.2); +insert into ratings values (833, 180849, '2005-07-11', 3, 0.2); +insert into ratings values (833, 180849, '2005-07-11', 4, 0.2); +insert into ratings values (833, 180849, '2005-07-11', 5, 0.6); +insert into ratings values (833, 306466, '2001-05-19', 4, 0.5); +insert into ratings values (833, 306466, '2001-05-19', 5, 0.5); +insert into ratings values (833, 30878, '2004-02-16', 3, 0.5); +insert into ratings values (833, 30878, '2004-02-16', 4, 0.4); +insert into ratings values (833, 30878, '2004-02-16', 5, 0.1); +insert into ratings values (833, 185377, '2003-10-21', 3, 1.0); +insert into ratings values (834, 76196, '2002-01-09', 1, 0.6); +insert into ratings values (834, 76196, '2002-01-09', 2, 0.3); +insert into ratings values (834, 76196, '2002-01-09', 3, 0.1); +insert into ratings values (834, 367953, '2005-03-06', 3, 0.7); +insert into ratings values (834, 367953, '2005-03-06', 4, 0.3); +insert into ratings values (834, 110641, '2001-02-01', 3, 0.1); +insert into ratings values (834, 110641, '2001-02-01', 4, 0.4); +insert into ratings values (834, 110641, '2001-02-01', 5, 0.5); +insert into ratings values (834, 252944, '2004-02-16', 2, 0.2); +insert into ratings values (834, 252944, '2004-02-16', 3, 0.4); +insert into ratings values (834, 252944, '2004-02-16', 4, 0.4); +insert into ratings values (834, 65691, '2004-05-10', 3, 1.0); +insert into ratings values (835, 461110, '2003-04-03', 3, 0.3); +insert into ratings values (835, 461110, '2003-04-03', 4, 0.1); +insert into ratings values (835, 461110, '2003-04-03', 5, 0.6); +insert into ratings values (835, 269983, '2005-03-16', 2, 0.4); +insert into ratings values (835, 269983, '2005-03-16', 3, 0.4); +insert into ratings values (835, 269983, '2005-03-16', 4, 0.2); +insert into ratings values (835, 395732, '2003-04-21', 1, 0.5); +insert into ratings values (835, 395732, '2003-04-21', 2, 0.5); +insert into ratings values (835, 61863, '2003-03-13', 3, 0.5); +insert into ratings values (835, 61863, '2003-03-13', 4, 0.4); +insert into ratings values (835, 61863, '2003-03-13', 5, 0.1); +insert into ratings values (835, 163830, '2002-11-23', 3, 0.8); +insert into ratings values (835, 163830, '2002-11-23', 4, 0.2); +insert into ratings values (836, 50952, '2005-07-31', 1, 0.5); +insert into ratings values (836, 50952, '2005-07-31', 2, 0.4); +insert into ratings values (836, 50952, '2005-07-31', 3, 0.1); +insert into ratings values (836, 352622, '2005-04-17', 3, 1.0); +insert into ratings values (836, 1333, '2005-08-21', 2, 0.2); +insert into ratings values (836, 1333, '2005-08-21', 3, 0.8); +insert into ratings values (836, 382332, '2005-05-06', 4, 1.0); +insert into ratings values (836, 76597, '2005-02-21', 2, 0.2); +insert into ratings values (836, 76597, '2005-02-21', 3, 0.5); +insert into ratings values (836, 76597, '2005-02-21', 4, 0.3); +insert into ratings values (837, 160977, '2005-08-02', 4, 0.6); +insert into ratings values (837, 160977, '2005-08-02', 5, 0.4); +insert into ratings values (837, 395744, '2005-09-09', 3, 0.3); +insert into ratings values (837, 395744, '2005-09-09', 4, 0.7); +insert into ratings values (837, 231110, '2005-03-16', 3, 0.2); +insert into ratings values (837, 231110, '2005-03-16', 4, 0.4); +insert into ratings values (837, 231110, '2005-03-16', 5, 0.4); +insert into ratings values (837, 259348, '2005-03-10', 5, 1.0); +insert into ratings values (837, 200255, '2005-07-23', 4, 0.4); +insert into ratings values (837, 200255, '2005-07-23', 5, 0.6); +insert into ratings values (838, 193498, '2004-05-26', 4, 1.0); +insert into ratings values (838, 76196, '2004-05-14', 1, 0.3); +insert into ratings values (838, 76196, '2004-05-14', 2, 0.5); +insert into ratings values (838, 76196, '2004-05-14', 3, 0.2); +insert into ratings values (838, 437597, '2004-08-18', 3, 1.0); +insert into ratings values (838, 191378, '2004-03-01', 2, 0.2); +insert into ratings values (838, 191378, '2004-03-01', 3, 0.8); +insert into ratings values (838, 289162, '2004-02-01', 2, 0.2); +insert into ratings values (838, 289162, '2004-02-01', 3, 0.5); +insert into ratings values (838, 289162, '2004-02-01', 4, 0.3); +insert into ratings values (839, 497196, '2005-09-14', 3, 0.5); +insert into ratings values (839, 497196, '2005-09-14', 4, 0.5); +insert into ratings values (839, 436529, '2005-10-12', 3, 0.1); +insert into ratings values (839, 436529, '2005-10-12', 4, 0.5); +insert into ratings values (839, 436529, '2005-10-12', 5, 0.4); +insert into ratings values (839, 13334, '2005-10-11', 3, 0.1); +insert into ratings values (839, 13334, '2005-10-11', 4, 0.3); +insert into ratings values (839, 13334, '2005-10-11', 5, 0.6); +insert into ratings values (839, 403531, '2005-10-25', 3, 0.1); +insert into ratings values (839, 403531, '2005-10-25', 4, 0.3); +insert into ratings values (839, 403531, '2005-10-25', 5, 0.6); +insert into ratings values (839, 61166, '2005-12-19', 3, 0.7); +insert into ratings values (839, 61166, '2005-12-19', 4, 0.3); +insert into ratings values (840, 41412, '2005-03-14', 1, 0.6); +insert into ratings values (840, 41412, '2005-03-14', 2, 0.4); +insert into ratings values (840, 141932, '2005-03-14', 3, 0.5); +insert into ratings values (840, 141932, '2005-03-14', 4, 0.5); +insert into ratings values (840, 14690, '2003-12-29', 2, 0.2); +insert into ratings values (840, 14690, '2003-12-29', 3, 0.8); +insert into ratings values (840, 105942, '2004-01-02', 3, 0.3); +insert into ratings values (840, 105942, '2004-01-02', 4, 0.6); +insert into ratings values (840, 105942, '2004-01-02', 5, 0.1); +insert into ratings values (840, 368343, '2003-09-21', 3, 0.3); +insert into ratings values (840, 368343, '2003-09-21', 4, 0.7); +insert into ratings values (841, 330569, '2005-11-07', 3, 0.5); +insert into ratings values (841, 330569, '2005-11-07', 4, 0.5); +insert into ratings values (841, 223697, '2005-12-02', 2, 0.5); +insert into ratings values (841, 223697, '2005-12-02', 3, 0.5); +insert into ratings values (841, 32555, '2004-03-22', 3, 0.2); +insert into ratings values (841, 32555, '2004-03-22', 4, 0.6); +insert into ratings values (841, 32555, '2004-03-22', 5, 0.2); +insert into ratings values (841, 77182, '2005-02-27', 3, 0.6); +insert into ratings values (841, 77182, '2005-02-27', 4, 0.4); +insert into ratings values (841, 428475, '2005-09-07', 4, 1.0); +insert into ratings values (842, 41412, '2003-05-06', 3, 0.6); +insert into ratings values (842, 41412, '2003-05-06', 4, 0.4); +insert into ratings values (842, 76196, '2002-02-02', 2, 0.1); +insert into ratings values (842, 76196, '2002-02-02', 3, 0.6); +insert into ratings values (842, 76196, '2002-02-02', 4, 0.3); +insert into ratings values (842, 259348, '2004-08-04', 4, 1.0); +insert into ratings values (842, 248039, '2003-08-31', 3, 1.0); +insert into ratings values (842, 303948, '2004-09-13', 3, 0.1); +insert into ratings values (842, 303948, '2004-09-13', 4, 0.5); +insert into ratings values (842, 303948, '2004-09-13', 5, 0.4); +insert into ratings values (843, 306466, '2004-09-16', 4, 0.8); +insert into ratings values (843, 306466, '2004-09-16', 5, 0.2); +insert into ratings values (843, 160977, '2001-11-06', 3, 0.4); +insert into ratings values (843, 160977, '2001-11-06', 4, 0.4); +insert into ratings values (843, 160977, '2001-11-06', 5, 0.2); +insert into ratings values (843, 66263, '2005-08-23', 3, 1.0); +insert into ratings values (843, 383894, '2005-01-07', 3, 0.5); +insert into ratings values (843, 383894, '2005-01-07', 4, 0.5); +insert into ratings values (843, 176006, '2005-01-20', 1, 0.4); +insert into ratings values (843, 176006, '2005-01-20', 2, 0.6); +insert into ratings values (844, 314837, '2005-10-18', 3, 0.5); +insert into ratings values (844, 314837, '2005-10-18', 4, 0.5); +insert into ratings values (844, 320454, '2005-02-25', 3, 1.0); +insert into ratings values (844, 353906, '2005-06-02', 2, 0.6); +insert into ratings values (844, 353906, '2005-06-02', 3, 0.4); +insert into ratings values (844, 328224, '2005-08-12', 1, 0.3); +insert into ratings values (844, 328224, '2005-08-12', 2, 0.5); +insert into ratings values (844, 328224, '2005-08-12', 3, 0.2); +insert into ratings values (844, 113383, '2005-08-29', 1, 0.6); +insert into ratings values (844, 113383, '2005-08-29', 2, 0.3); +insert into ratings values (844, 113383, '2005-08-29', 3, 0.1); +insert into ratings values (845, 145142, '2005-08-25', 3, 1.0); +insert into ratings values (845, 350941, '2005-11-22', 3, 1.0); +insert into ratings values (845, 320812, '2005-07-10', 5, 1.0); +insert into ratings values (845, 252944, '2005-07-30', 4, 0.5); +insert into ratings values (845, 252944, '2005-07-30', 5, 0.5); +insert into ratings values (845, 38032, '2005-07-11', 2, 0.1); +insert into ratings values (845, 38032, '2005-07-11', 3, 0.6); +insert into ratings values (845, 38032, '2005-07-11', 4, 0.3); +insert into ratings values (846, 66358, '2005-07-13', 3, 0.5); +insert into ratings values (846, 66358, '2005-07-13', 4, 0.5); +insert into ratings values (846, 391744, '2005-06-16', 1, 1.0); +insert into ratings values (846, 174868, '2005-07-16', 2, 0.6); +insert into ratings values (846, 174868, '2005-07-16', 3, 0.4); +insert into ratings values (846, 326587, '2005-05-22', 2, 0.6); +insert into ratings values (846, 326587, '2005-05-22', 3, 0.4); +insert into ratings values (846, 458209, '2005-06-11', 2, 1.0); +insert into ratings values (847, 244994, '2004-12-07', 3, 0.1); +insert into ratings values (847, 244994, '2004-12-07', 4, 0.4); +insert into ratings values (847, 244994, '2004-12-07', 5, 0.5); +insert into ratings values (847, 488694, '2005-06-14', 4, 0.5); +insert into ratings values (847, 488694, '2005-06-14', 5, 0.5); +insert into ratings values (847, 183754, '2005-07-05', 5, 1.0); +insert into ratings values (847, 485977, '2005-03-16', 4, 1.0); +insert into ratings values (847, 303821, '2005-07-18', 4, 0.5); +insert into ratings values (847, 303821, '2005-07-18', 5, 0.5); +insert into ratings values (848, 166692, '2004-12-13', 4, 1.0); +insert into ratings values (848, 264157, '2004-06-14', 3, 0.4); +insert into ratings values (848, 264157, '2004-06-14', 4, 0.5); +insert into ratings values (848, 264157, '2004-06-14', 5, 0.1); +insert into ratings values (848, 255626, '2002-12-18', 4, 1.0); +insert into ratings values (848, 146608, '2003-05-21', 2, 0.7); +insert into ratings values (848, 146608, '2003-05-21', 3, 0.3); +insert into ratings values (848, 50553, '2005-08-13', 2, 0.4); +insert into ratings values (848, 50553, '2005-08-13', 3, 0.6); +insert into ratings values (849, 383894, '2004-05-09', 2, 0.4); +insert into ratings values (849, 383894, '2004-05-09', 3, 0.6); +insert into ratings values (849, 325046, '2004-08-04', 2, 0.4); +insert into ratings values (849, 325046, '2004-08-04', 3, 0.6); +insert into ratings values (849, 167993, '2005-01-07', 4, 0.2); +insert into ratings values (849, 167993, '2005-01-07', 5, 0.8); +insert into ratings values (849, 390508, '2005-11-28', 4, 0.3); +insert into ratings values (849, 390508, '2005-11-28', 5, 0.7); +insert into ratings values (849, 14690, '2001-12-15', 3, 0.4); +insert into ratings values (849, 14690, '2001-12-15', 4, 0.6); +insert into ratings values (850, 461110, '2004-05-15', 1, 0.7); +insert into ratings values (850, 461110, '2004-05-15', 2, 0.3); +insert into ratings values (850, 341804, '2004-07-21', 2, 0.6); +insert into ratings values (850, 341804, '2004-07-21', 3, 0.4); +insert into ratings values (850, 119529, '2004-03-07', 5, 1.0); +insert into ratings values (850, 131329, '2004-04-08', 4, 0.7); +insert into ratings values (850, 131329, '2004-04-08', 5, 0.3); +insert into ratings values (850, 257592, '2005-04-21', 3, 0.6); +insert into ratings values (850, 257592, '2005-04-21', 4, 0.4); +insert into ratings values (851, 159007, '2005-07-14', 3, 0.1); +insert into ratings values (851, 159007, '2005-07-14', 4, 0.5); +insert into ratings values (851, 159007, '2005-07-14', 5, 0.4); +insert into ratings values (851, 30878, '2004-04-22', 4, 0.7); +insert into ratings values (851, 30878, '2004-04-22', 5, 0.3); +insert into ratings values (851, 205618, '2005-07-25', 3, 1.0); +insert into ratings values (851, 45276, '2005-08-02', 3, 1.0); +insert into ratings values (851, 198560, '2005-08-14', 3, 0.5); +insert into ratings values (851, 198560, '2005-08-14', 4, 0.5); +insert into ratings values (852, 452013, '2003-04-03', 3, 0.3); +insert into ratings values (852, 452013, '2003-04-03', 4, 0.6); +insert into ratings values (852, 452013, '2003-04-03', 5, 0.1); +insert into ratings values (852, 499718, '2004-03-31', 2, 0.3); +insert into ratings values (852, 499718, '2004-03-31', 3, 0.7); +insert into ratings values (852, 303948, '2004-07-26', 3, 0.4); +insert into ratings values (852, 303948, '2004-07-26', 4, 0.5); +insert into ratings values (852, 303948, '2004-07-26', 5, 0.1); +insert into ratings values (852, 107840, '2002-09-14', 3, 1.0); +insert into ratings values (852, 349440, '2003-05-12', 1, 1.0); +insert into ratings values (853, 289706, '2004-10-11', 3, 1.0); +insert into ratings values (853, 101930, '2005-02-03', 1, 0.5); +insert into ratings values (853, 101930, '2005-02-03', 2, 0.5); +insert into ratings values (853, 284918, '2005-06-15', 3, 0.2); +insert into ratings values (853, 284918, '2005-06-15', 4, 0.6); +insert into ratings values (853, 284918, '2005-06-15', 5, 0.2); +insert into ratings values (853, 113677, '2005-08-16', 2, 0.2); +insert into ratings values (853, 113677, '2005-08-16', 3, 0.6); +insert into ratings values (853, 113677, '2005-08-16', 4, 0.2); +insert into ratings values (853, 47411, '2004-11-29', 5, 1.0); +insert into ratings values (854, 478149, '2004-04-07', 2, 0.3); +insert into ratings values (854, 478149, '2004-04-07', 3, 0.5); +insert into ratings values (854, 478149, '2004-04-07', 4, 0.2); +insert into ratings values (854, 484109, '2005-04-20', 2, 1.0); +insert into ratings values (854, 281396, '2004-07-18', 1, 0.2); +insert into ratings values (854, 281396, '2004-07-18', 2, 0.5); +insert into ratings values (854, 281396, '2004-07-18', 3, 0.3); +insert into ratings values (854, 125296, '2004-03-30', 4, 1.0); +insert into ratings values (854, 429425, '2004-08-29', 3, 0.1); +insert into ratings values (854, 429425, '2004-08-29', 4, 0.4); +insert into ratings values (854, 429425, '2004-08-29', 5, 0.5); +insert into ratings values (855, 68845, '2003-06-02', 3, 0.5); +insert into ratings values (855, 68845, '2003-06-02', 4, 0.5); +insert into ratings values (855, 47411, '2005-01-19', 3, 0.4); +insert into ratings values (855, 47411, '2005-01-19', 4, 0.6); +insert into ratings values (855, 167540, '2005-08-22', 2, 1.0); +insert into ratings values (855, 262633, '2002-11-19', 2, 1.0); +insert into ratings values (855, 234798, '2004-09-08', 1, 0.2); +insert into ratings values (855, 234798, '2004-09-08', 2, 0.8); +insert into ratings values (856, 471879, '2005-10-24', 2, 0.1); +insert into ratings values (856, 471879, '2005-10-24', 3, 0.5); +insert into ratings values (856, 471879, '2005-10-24', 4, 0.4); +insert into ratings values (856, 338945, '2005-02-18', 2, 0.4); +insert into ratings values (856, 338945, '2005-02-18', 3, 0.4); +insert into ratings values (856, 338945, '2005-02-18', 4, 0.2); +insert into ratings values (856, 349975, '2005-02-02', 3, 0.7); +insert into ratings values (856, 349975, '2005-02-02', 4, 0.3); +insert into ratings values (856, 376884, '2004-10-24', 3, 0.1); +insert into ratings values (856, 376884, '2004-10-24', 4, 0.6); +insert into ratings values (856, 376884, '2004-10-24', 5, 0.3); +insert into ratings values (856, 239167, '2005-07-10', 5, 1.0); +insert into ratings values (857, 269978, '2005-06-16', 1, 0.4); +insert into ratings values (857, 269978, '2005-06-16', 2, 0.4); +insert into ratings values (857, 269978, '2005-06-16', 3, 0.2); +insert into ratings values (857, 461110, '2004-12-01', 4, 1.0); +insert into ratings values (857, 264160, '2005-07-06', 3, 0.4); +insert into ratings values (857, 264160, '2005-07-06', 4, 0.1); +insert into ratings values (857, 264160, '2005-07-06', 5, 0.5); +insert into ratings values (857, 403531, '2005-08-10', 5, 1.0); +insert into ratings values (857, 16386, '2005-08-13', 2, 0.3); +insert into ratings values (857, 16386, '2005-08-13', 3, 0.7); +insert into ratings values (858, 180200, '2004-02-02', 4, 0.6); +insert into ratings values (858, 180200, '2004-02-02', 5, 0.4); +insert into ratings values (858, 304116, '2004-07-23', 1, 1.0); +insert into ratings values (858, 162464, '2004-09-01', 2, 0.5); +insert into ratings values (858, 162464, '2004-09-01', 3, 0.4); +insert into ratings values (858, 162464, '2004-09-01', 4, 0.1); +insert into ratings values (858, 402512, '2004-06-19', 2, 0.5); +insert into ratings values (858, 402512, '2004-06-19', 3, 0.5); +insert into ratings values (858, 228968, '2005-04-17', 4, 0.4); +insert into ratings values (858, 228968, '2005-04-17', 5, 0.6); +insert into ratings values (859, 306466, '2001-04-27', 3, 0.5); +insert into ratings values (859, 306466, '2001-04-27', 4, 0.4); +insert into ratings values (859, 306466, '2001-04-27', 5, 0.1); +insert into ratings values (859, 276813, '2000-12-31', 2, 0.1); +insert into ratings values (859, 276813, '2000-12-31', 3, 0.5); +insert into ratings values (859, 276813, '2000-12-31', 4, 0.4); +insert into ratings values (859, 175214, '2005-08-04', 5, 1.0); +insert into ratings values (859, 314837, '2003-07-21', 3, 0.5); +insert into ratings values (859, 314837, '2003-07-21', 4, 0.5); +insert into ratings values (859, 39956, '2003-11-22', 4, 1.0); +insert into ratings values (860, 103413, '2004-07-17', 3, 1.0); +insert into ratings values (860, 371897, '2004-02-21', 4, 0.8); +insert into ratings values (860, 371897, '2004-02-21', 5, 0.2); +insert into ratings values (860, 447339, '2004-10-02', 2, 1.0); +insert into ratings values (860, 426008, '2004-02-13', 3, 0.4); +insert into ratings values (860, 426008, '2004-02-13', 4, 0.4); +insert into ratings values (860, 426008, '2004-02-13', 5, 0.2); +insert into ratings values (860, 473792, '2004-03-21', 3, 1.0); +insert into ratings values (861, 292137, '2005-11-05', 5, 1.0); +insert into ratings values (861, 270953, '2005-08-26', 5, 1.0); +insert into ratings values (861, 183716, '2005-08-29', 4, 0.2); +insert into ratings values (861, 183716, '2005-08-29', 5, 0.8); +insert into ratings values (861, 201549, '2005-04-18', 4, 0.5); +insert into ratings values (861, 201549, '2005-04-18', 5, 0.5); +insert into ratings values (861, 478755, '2005-01-19', 4, 1.0); +insert into ratings values (862, 160977, '2003-08-28', 3, 1.0); +insert into ratings values (862, 63382, '2003-08-24', 3, 0.5); +insert into ratings values (862, 63382, '2003-08-24', 4, 0.5); +insert into ratings values (862, 439931, '2004-07-31', 2, 0.1); +insert into ratings values (862, 439931, '2004-07-31', 3, 0.4); +insert into ratings values (862, 439931, '2004-07-31', 4, 0.5); +insert into ratings values (862, 437991, '2005-05-02', 3, 1.0); +insert into ratings values (862, 217982, '2005-06-22', 2, 0.2); +insert into ratings values (862, 217982, '2005-06-22', 3, 0.6); +insert into ratings values (862, 217982, '2005-06-22', 4, 0.2); +insert into ratings values (863, 421562, '2004-12-29', 3, 0.3); +insert into ratings values (863, 421562, '2004-12-29', 4, 0.4); +insert into ratings values (863, 421562, '2004-12-29', 5, 0.3); +insert into ratings values (863, 484675, '2004-05-28', 1, 0.4); +insert into ratings values (863, 484675, '2004-05-28', 2, 0.6); +insert into ratings values (863, 16060, '2004-12-15', 5, 1.0); +insert into ratings values (863, 479327, '2004-04-17', 4, 0.8); +insert into ratings values (863, 479327, '2004-04-17', 5, 0.2); +insert into ratings values (863, 411705, '2004-04-24', 4, 0.6); +insert into ratings values (863, 411705, '2004-04-24', 5, 0.4); +insert into ratings values (864, 461110, '2005-01-13', 1, 1.0); +insert into ratings values (864, 53521, '2005-08-16', 2, 0.1); +insert into ratings values (864, 53521, '2005-08-16', 3, 0.4); +insert into ratings values (864, 53521, '2005-08-16', 4, 0.5); +insert into ratings values (864, 286106, '2005-02-02', 1, 0.4); +insert into ratings values (864, 286106, '2005-02-02', 2, 0.6); +insert into ratings values (864, 155342, '2004-04-26', 1, 0.4); +insert into ratings values (864, 155342, '2004-04-26', 2, 0.5); +insert into ratings values (864, 155342, '2004-04-26', 3, 0.1); +insert into ratings values (864, 407714, '2004-12-04', 2, 0.2); +insert into ratings values (864, 407714, '2004-12-04', 3, 0.6); +insert into ratings values (864, 407714, '2004-12-04', 4, 0.2); +insert into ratings values (865, 32966, '2005-07-27', 4, 0.2); +insert into ratings values (865, 32966, '2005-07-27', 5, 0.8); +insert into ratings values (865, 83540, '2005-08-08', 4, 0.2); +insert into ratings values (865, 83540, '2005-08-08', 5, 0.8); +insert into ratings values (865, 438699, '2005-07-16', 3, 1.0); +insert into ratings values (865, 148550, '2005-07-23', 2, 1.0); +insert into ratings values (865, 35137, '2005-06-29', 4, 0.2); +insert into ratings values (865, 35137, '2005-06-29', 5, 0.8); +insert into ratings values (866, 353906, '2004-04-03', 2, 0.8); +insert into ratings values (866, 353906, '2004-04-03', 3, 0.2); +insert into ratings values (866, 92056, '2005-09-30', 1, 0.8); +insert into ratings values (866, 92056, '2005-09-30', 2, 0.2); +insert into ratings values (866, 322178, '2005-03-17', 2, 1.0); +insert into ratings values (866, 1333, '2005-04-05', 1, 0.3); +insert into ratings values (866, 1333, '2005-04-05', 2, 0.6); +insert into ratings values (866, 1333, '2005-04-05', 3, 0.1); +insert into ratings values (866, 499718, '2004-06-07', 2, 0.3); +insert into ratings values (866, 499718, '2004-06-07', 3, 0.6); +insert into ratings values (866, 499718, '2004-06-07', 4, 0.1); +insert into ratings values (867, 370762, '2004-05-23', 1, 0.4); +insert into ratings values (867, 370762, '2004-05-23', 2, 0.3); +insert into ratings values (867, 370762, '2004-05-23', 3, 0.3); +insert into ratings values (867, 497196, '2005-01-25', 2, 0.4); +insert into ratings values (867, 497196, '2005-01-25', 3, 0.5); +insert into ratings values (867, 497196, '2005-01-25', 4, 0.1); +insert into ratings values (867, 126998, '2004-08-26', 2, 0.6); +insert into ratings values (867, 126998, '2004-08-26', 3, 0.4); +insert into ratings values (867, 303948, '2005-03-07', 3, 0.5); +insert into ratings values (867, 303948, '2005-03-07', 4, 0.5); +insert into ratings values (867, 184039, '2005-02-18', 2, 0.5); +insert into ratings values (867, 184039, '2005-02-18', 3, 0.5); +insert into ratings values (868, 397432, '2005-01-06', 4, 0.5); +insert into ratings values (868, 397432, '2005-01-06', 5, 0.5); +insert into ratings values (868, 24830, '2003-12-22', 3, 0.2); +insert into ratings values (868, 24830, '2003-12-22', 4, 0.4); +insert into ratings values (868, 24830, '2003-12-22', 5, 0.4); +insert into ratings values (868, 167540, '2003-11-05', 4, 1.0); +insert into ratings values (868, 17690, '2004-09-01', 5, 1.0); +insert into ratings values (868, 423773, '2005-04-28', 1, 0.5); +insert into ratings values (868, 423773, '2005-04-28', 2, 0.5); +insert into ratings values (869, 130406, '2004-05-04', 3, 0.6); +insert into ratings values (869, 130406, '2004-05-04', 4, 0.4); +insert into ratings values (869, 155342, '2003-03-30', 1, 0.2); +insert into ratings values (869, 155342, '2003-03-30', 2, 0.4); +insert into ratings values (869, 155342, '2003-03-30', 3, 0.4); +insert into ratings values (869, 486399, '2003-05-10', 2, 0.3); +insert into ratings values (869, 486399, '2003-05-10', 3, 0.5); +insert into ratings values (869, 486399, '2003-05-10', 4, 0.2); +insert into ratings values (869, 190730, '2004-07-06', 2, 1.0); +insert into ratings values (869, 392402, '2005-04-07', 2, 0.3); +insert into ratings values (869, 392402, '2005-04-07', 3, 0.4); +insert into ratings values (869, 392402, '2005-04-07', 4, 0.3); +insert into ratings values (870, 348585, '2005-09-06', 2, 0.2); +insert into ratings values (870, 348585, '2005-09-06', 3, 0.5); +insert into ratings values (870, 348585, '2005-09-06', 4, 0.3); +insert into ratings values (870, 493830, '2005-09-28', 2, 0.2); +insert into ratings values (870, 493830, '2005-09-28', 3, 0.5); +insert into ratings values (870, 493830, '2005-09-28', 4, 0.3); +insert into ratings values (870, 69065, '2005-12-05', 1, 0.4); +insert into ratings values (870, 69065, '2005-12-05', 2, 0.1); +insert into ratings values (870, 69065, '2005-12-05', 3, 0.5); +insert into ratings values (870, 407037, '2005-08-09', 3, 1.0); +insert into ratings values (870, 3826, '2005-11-03', 1, 0.6); +insert into ratings values (870, 3826, '2005-11-03', 2, 0.4); +insert into ratings values (871, 213959, '2004-10-19', 1, 0.5); +insert into ratings values (871, 213959, '2004-10-19', 2, 0.5); +insert into ratings values (871, 167993, '2005-11-20', 3, 0.5); +insert into ratings values (871, 167993, '2005-11-20', 4, 0.1); +insert into ratings values (871, 167993, '2005-11-20', 5, 0.4); +insert into ratings values (871, 67315, '2003-10-03', 3, 0.1); +insert into ratings values (871, 67315, '2003-10-03', 4, 0.3); +insert into ratings values (871, 67315, '2003-10-03', 5, 0.6); +insert into ratings values (871, 231110, '2005-03-16', 1, 1.0); +insert into ratings values (871, 440988, '2004-05-01', 3, 0.3); +insert into ratings values (871, 440988, '2004-05-01', 4, 0.6); +insert into ratings values (871, 440988, '2004-05-01', 5, 0.1); +insert into ratings values (872, 364518, '2004-08-31', 4, 1.0); +insert into ratings values (872, 179159, '2005-07-08', 5, 1.0); +insert into ratings values (872, 69867, '2000-04-10', 3, 1.0); +insert into ratings values (872, 306466, '2005-06-29', 4, 0.5); +insert into ratings values (872, 306466, '2005-06-29', 5, 0.5); +insert into ratings values (872, 152764, '2005-07-13', 3, 0.2); +insert into ratings values (872, 152764, '2005-07-13', 4, 0.5); +insert into ratings values (872, 152764, '2005-07-13', 5, 0.3); +insert into ratings values (873, 273292, '2004-12-20', 2, 0.7); +insert into ratings values (873, 273292, '2004-12-20', 3, 0.3); +insert into ratings values (873, 63170, '2005-05-14', 1, 0.3); +insert into ratings values (873, 63170, '2005-05-14', 2, 0.5); +insert into ratings values (873, 63170, '2005-05-14', 3, 0.2); +insert into ratings values (873, 214166, '2004-01-01', 1, 0.2); +insert into ratings values (873, 214166, '2004-01-01', 2, 0.6); +insert into ratings values (873, 214166, '2004-01-01', 3, 0.2); +insert into ratings values (873, 193052, '2003-12-14', 1, 0.3); +insert into ratings values (873, 193052, '2003-12-14', 2, 0.4); +insert into ratings values (873, 193052, '2003-12-14', 3, 0.3); +insert into ratings values (873, 137157, '2004-10-07', 1, 1.0); +insert into ratings values (874, 66358, '2005-12-23', 3, 0.2); +insert into ratings values (874, 66358, '2005-12-23', 4, 0.6); +insert into ratings values (874, 66358, '2005-12-23', 5, 0.2); +insert into ratings values (874, 243437, '2005-09-08', 3, 0.2); +insert into ratings values (874, 243437, '2005-09-08', 4, 0.5); +insert into ratings values (874, 243437, '2005-09-08', 5, 0.3); +insert into ratings values (874, 26648, '2005-09-16', 3, 0.4); +insert into ratings values (874, 26648, '2005-09-16', 4, 0.6); +insert into ratings values (874, 43039, '2005-09-30', 5, 1.0); +insert into ratings values (874, 172815, '2005-08-16', 3, 1.0); +insert into ratings values (875, 303948, '2004-09-13', 3, 0.4); +insert into ratings values (875, 303948, '2004-09-13', 4, 0.4); +insert into ratings values (875, 303948, '2004-09-13', 5, 0.2); +insert into ratings values (875, 364540, '2004-08-04', 4, 1.0); +insert into ratings values (875, 274313, '2004-01-01', 1, 0.1); +insert into ratings values (875, 274313, '2004-01-01', 2, 0.6); +insert into ratings values (875, 274313, '2004-01-01', 3, 0.3); +insert into ratings values (875, 239421, '2005-05-11', 2, 0.4); +insert into ratings values (875, 239421, '2005-05-11', 3, 0.4); +insert into ratings values (875, 239421, '2005-05-11', 4, 0.2); +insert into ratings values (875, 92242, '2002-01-05', 3, 1.0); +insert into ratings values (876, 497196, '2004-08-11', 4, 1.0); +insert into ratings values (876, 85856, '2004-08-06', 3, 0.3); +insert into ratings values (876, 85856, '2004-08-06', 4, 0.5); +insert into ratings values (876, 85856, '2004-08-06', 5, 0.2); +insert into ratings values (876, 466322, '2005-05-23', 1, 1.0); +insert into ratings values (876, 239108, '2004-06-29', 3, 0.2); +insert into ratings values (876, 239108, '2004-06-29', 4, 0.2); +insert into ratings values (876, 239108, '2004-06-29', 5, 0.6); +insert into ratings values (876, 58371, '2004-06-30', 1, 0.3); +insert into ratings values (876, 58371, '2004-06-30', 2, 0.7); +insert into ratings values (877, 86879, '2003-11-09', 4, 1.0); +insert into ratings values (877, 169456, '2005-11-16', 2, 0.5); +insert into ratings values (877, 169456, '2005-11-16', 3, 0.5); +insert into ratings values (877, 44772, '2005-06-20', 4, 1.0); +insert into ratings values (877, 281396, '2004-08-10', 2, 0.5); +insert into ratings values (877, 281396, '2004-08-10', 3, 0.4); +insert into ratings values (877, 281396, '2004-08-10', 4, 0.1); +insert into ratings values (877, 20918, '2005-02-27', 2, 0.4); +insert into ratings values (877, 20918, '2005-02-27', 3, 0.4); +insert into ratings values (877, 20918, '2005-02-27', 4, 0.2); +insert into ratings values (878, 306466, '2003-08-29', 1, 0.2); +insert into ratings values (878, 306466, '2003-08-29', 2, 0.6); +insert into ratings values (878, 306466, '2003-08-29', 3, 0.2); +insert into ratings values (878, 65691, '2005-06-27', 4, 1.0); +insert into ratings values (878, 439870, '2003-12-24', 3, 0.3); +insert into ratings values (878, 439870, '2003-12-24', 4, 0.5); +insert into ratings values (878, 439870, '2003-12-24', 5, 0.2); +insert into ratings values (878, 452643, '2002-11-11', 2, 1.0); +insert into ratings values (878, 442118, '2004-03-15', 3, 0.1); +insert into ratings values (878, 442118, '2004-03-15', 4, 0.5); +insert into ratings values (878, 442118, '2004-03-15', 5, 0.4); +insert into ratings values (879, 117277, '2005-03-07', 3, 0.3); +insert into ratings values (879, 117277, '2005-03-07', 4, 0.3); +insert into ratings values (879, 117277, '2005-03-07', 5, 0.4); +insert into ratings values (879, 67315, '2005-03-08', 1, 0.3); +insert into ratings values (879, 67315, '2005-03-08', 2, 0.5); +insert into ratings values (879, 67315, '2005-03-08', 3, 0.2); +insert into ratings values (879, 194431, '2005-02-01', 3, 0.3); +insert into ratings values (879, 194431, '2005-02-01', 4, 0.5); +insert into ratings values (879, 194431, '2005-02-01', 5, 0.2); +insert into ratings values (879, 335842, '2005-01-25', 3, 1.0); +insert into ratings values (879, 310400, '2005-06-15', 3, 0.5); +insert into ratings values (879, 310400, '2005-06-15', 4, 0.4); +insert into ratings values (879, 310400, '2005-06-15', 5, 0.1); +insert into ratings values (880, 67976, '2004-02-03', 3, 0.4); +insert into ratings values (880, 67976, '2004-02-03', 4, 0.1); +insert into ratings values (880, 67976, '2004-02-03', 5, 0.5); +insert into ratings values (880, 247687, '2005-03-13', 3, 0.1); +insert into ratings values (880, 247687, '2005-03-13', 4, 0.5); +insert into ratings values (880, 247687, '2005-03-13', 5, 0.4); +insert into ratings values (880, 247794, '2005-12-20', 3, 0.2); +insert into ratings values (880, 247794, '2005-12-20', 4, 0.5); +insert into ratings values (880, 247794, '2005-12-20', 5, 0.3); +insert into ratings values (880, 91007, '2004-06-11', 4, 1.0); +insert into ratings values (880, 423815, '2004-10-12', 2, 0.5); +insert into ratings values (880, 423815, '2004-10-12', 3, 0.4); +insert into ratings values (880, 423815, '2004-10-12', 4, 0.1); +insert into ratings values (881, 326587, '2004-12-05', 1, 0.8); +insert into ratings values (881, 326587, '2004-12-05', 2, 0.2); +insert into ratings values (881, 301577, '2003-12-02', 2, 0.2); +insert into ratings values (881, 301577, '2003-12-02', 3, 0.5); +insert into ratings values (881, 301577, '2003-12-02', 4, 0.3); +insert into ratings values (881, 385079, '2004-11-06', 3, 0.3); +insert into ratings values (881, 385079, '2004-11-06', 4, 0.1); +insert into ratings values (881, 385079, '2004-11-06', 5, 0.6); +insert into ratings values (881, 429038, '2004-11-14', 2, 0.1); +insert into ratings values (881, 429038, '2004-11-14', 3, 0.4); +insert into ratings values (881, 429038, '2004-11-14', 4, 0.5); +insert into ratings values (881, 413603, '2004-11-19', 1, 0.3); +insert into ratings values (881, 413603, '2004-11-19', 2, 0.7); +insert into ratings values (882, 76196, '2002-01-08', 1, 0.5); +insert into ratings values (882, 76196, '2002-01-08', 2, 0.5); +insert into ratings values (882, 261348, '2005-07-01', 3, 1.0); +insert into ratings values (882, 368070, '2003-05-29', 4, 1.0); +insert into ratings values (882, 392731, '2000-01-14', 1, 0.5); +insert into ratings values (882, 392731, '2000-01-14', 2, 0.5); +insert into ratings values (882, 202678, '2003-01-16', 1, 0.4); +insert into ratings values (882, 202678, '2003-01-16', 2, 0.2); +insert into ratings values (882, 202678, '2003-01-16', 3, 0.4); +insert into ratings values (883, 306466, '2001-05-22', 1, 0.6); +insert into ratings values (883, 306466, '2001-05-22', 2, 0.4); +insert into ratings values (883, 43601, '2003-10-27', 5, 1.0); +insert into ratings values (883, 364518, '2005-08-23', 3, 1.0); +insert into ratings values (883, 308495, '2005-01-19', 3, 1.0); +insert into ratings values (883, 373243, '2005-04-17', 4, 1.0); +insert into ratings values (884, 492706, '2005-09-27', 1, 0.2); +insert into ratings values (884, 492706, '2005-09-27', 2, 0.6); +insert into ratings values (884, 492706, '2005-09-27', 3, 0.2); +insert into ratings values (884, 1333, '2005-08-26', 3, 1.0); +insert into ratings values (884, 342791, '2003-05-27', 1, 1.0); +insert into ratings values (884, 44750, '2005-06-24', 2, 0.1); +insert into ratings values (884, 44750, '2005-06-24', 3, 0.5); +insert into ratings values (884, 44750, '2005-06-24', 4, 0.4); +insert into ratings values (884, 337211, '2004-10-15', 3, 1.0); +insert into ratings values (885, 442739, '2005-01-05', 3, 1.0); +insert into ratings values (885, 222288, '2005-05-03', 4, 1.0); +insert into ratings values (885, 303849, '2004-10-11', 4, 0.6); +insert into ratings values (885, 303849, '2004-10-11', 5, 0.4); +insert into ratings values (885, 360272, '2005-02-06', 3, 0.4); +insert into ratings values (885, 360272, '2005-02-06', 4, 0.6); +insert into ratings values (885, 17184, '2005-09-27', 2, 0.6); +insert into ratings values (885, 17184, '2005-09-27', 3, 0.4); +insert into ratings values (886, 41923, '2005-07-11', 4, 0.6); +insert into ratings values (886, 41923, '2005-07-11', 5, 0.4); +insert into ratings values (886, 412196, '2005-07-17', 4, 0.4); +insert into ratings values (886, 412196, '2005-07-17', 5, 0.6); +insert into ratings values (886, 350592, '2005-07-18', 5, 1.0); +insert into ratings values (886, 120539, '2005-07-19', 5, 1.0); +insert into ratings values (886, 84527, '2005-07-23', 3, 0.2); +insert into ratings values (886, 84527, '2005-07-23', 4, 0.2); +insert into ratings values (886, 84527, '2005-07-23', 5, 0.6); +insert into ratings values (887, 307505, '2005-09-04', 3, 0.3); +insert into ratings values (887, 307505, '2005-09-04', 4, 0.2); +insert into ratings values (887, 307505, '2005-09-04', 5, 0.5); +insert into ratings values (887, 168532, '2005-10-03', 4, 0.3); +insert into ratings values (887, 168532, '2005-10-03', 5, 0.7); +insert into ratings values (887, 306179, '2005-09-20', 2, 0.3); +insert into ratings values (887, 306179, '2005-09-20', 3, 0.7); +insert into ratings values (887, 99154, '2005-09-20', 2, 0.5); +insert into ratings values (887, 99154, '2005-09-20', 3, 0.4); +insert into ratings values (887, 99154, '2005-09-20', 4, 0.1); +insert into ratings values (887, 59868, '2005-11-15', 4, 0.8); +insert into ratings values (887, 59868, '2005-11-15', 5, 0.2); +insert into ratings values (888, 450805, '2004-03-15', 2, 0.3); +insert into ratings values (888, 450805, '2004-03-15', 3, 0.7); +insert into ratings values (888, 204178, '2003-02-13', 2, 1.0); +insert into ratings values (888, 429830, '2003-06-18', 3, 0.4); +insert into ratings values (888, 429830, '2003-06-18', 4, 0.6); +insert into ratings values (888, 59484, '2004-06-30', 2, 0.4); +insert into ratings values (888, 59484, '2004-06-30', 3, 0.6); +insert into ratings values (888, 238920, '2003-09-09', 1, 0.6); +insert into ratings values (888, 238920, '2003-09-09', 2, 0.4); +insert into ratings values (889, 140292, '2005-07-12', 2, 0.5); +insert into ratings values (889, 140292, '2005-07-12', 3, 0.5); +insert into ratings values (889, 461110, '2005-06-15', 1, 0.4); +insert into ratings values (889, 461110, '2005-06-15', 2, 0.1); +insert into ratings values (889, 461110, '2005-06-15', 3, 0.5); +insert into ratings values (889, 15863, '2005-09-27', 5, 1.0); +insert into ratings values (889, 106002, '2005-10-08', 4, 0.2); +insert into ratings values (889, 106002, '2005-10-08', 5, 0.8); +insert into ratings values (889, 202810, '2005-07-19', 5, 1.0); +insert into ratings values (890, 190249, '2004-09-29', 2, 0.6); +insert into ratings values (890, 190249, '2004-09-29', 3, 0.4); +insert into ratings values (890, 413603, '2005-07-18', 5, 1.0); +insert into ratings values (890, 199062, '2005-03-07', 3, 0.4); +insert into ratings values (890, 199062, '2005-03-07', 4, 0.5); +insert into ratings values (890, 199062, '2005-03-07', 5, 0.1); +insert into ratings values (890, 401047, '2005-06-29', 1, 0.8); +insert into ratings values (890, 401047, '2005-06-29', 2, 0.2); +insert into ratings values (890, 178860, '2005-10-17', 2, 0.3); +insert into ratings values (890, 178860, '2005-10-17', 3, 0.5); +insert into ratings values (890, 178860, '2005-10-17', 4, 0.2); +insert into ratings values (891, 354425, '2005-07-06', 5, 1.0); +insert into ratings values (891, 152619, '2004-10-11', 3, 0.4); +insert into ratings values (891, 152619, '2004-10-11', 4, 0.6); +insert into ratings values (891, 385977, '2003-11-26', 5, 1.0); +insert into ratings values (891, 163852, '2005-02-12', 2, 0.4); +insert into ratings values (891, 163852, '2005-02-12', 3, 0.6); +insert into ratings values (891, 189811, '2005-11-01', 4, 1.0); +insert into ratings values (892, 247794, '2004-01-20', 4, 0.7); +insert into ratings values (892, 247794, '2004-01-20', 5, 0.3); +insert into ratings values (892, 387189, '2004-07-01', 5, 1.0); +insert into ratings values (892, 214174, '2004-01-01', 3, 0.3); +insert into ratings values (892, 214174, '2004-01-01', 4, 0.6); +insert into ratings values (892, 214174, '2004-01-01', 5, 0.1); +insert into ratings values (892, 499718, '2005-10-10', 4, 1.0); +insert into ratings values (892, 328799, '2003-11-26', 3, 1.0); +insert into ratings values (893, 433074, '2004-05-02', 5, 1.0); +insert into ratings values (893, 396576, '2005-12-04', 3, 0.4); +insert into ratings values (893, 396576, '2005-12-04', 4, 0.2); +insert into ratings values (893, 396576, '2005-12-04', 5, 0.4); +insert into ratings values (893, 49145, '2005-04-03', 3, 0.1); +insert into ratings values (893, 49145, '2005-04-03', 4, 0.5); +insert into ratings values (893, 49145, '2005-04-03', 5, 0.4); +insert into ratings values (893, 57146, '2005-12-14', 4, 0.6); +insert into ratings values (893, 57146, '2005-12-14', 5, 0.4); +insert into ratings values (893, 112320, '2005-09-13', 3, 0.3); +insert into ratings values (893, 112320, '2005-09-13', 4, 0.1); +insert into ratings values (893, 112320, '2005-09-13', 5, 0.6); +insert into ratings values (894, 306466, '2001-12-18', 1, 0.2); +insert into ratings values (894, 306466, '2001-12-18', 2, 0.4); +insert into ratings values (894, 306466, '2001-12-18', 3, 0.4); +insert into ratings values (894, 466862, '2005-06-04', 3, 0.6); +insert into ratings values (894, 466862, '2005-06-04', 4, 0.4); +insert into ratings values (894, 326587, '2000-12-18', 3, 1.0); +insert into ratings values (894, 305574, '2003-02-16', 3, 1.0); +insert into ratings values (894, 461110, '2003-02-24', 1, 0.4); +insert into ratings values (894, 461110, '2003-02-24', 2, 0.6); +insert into ratings values (895, 163175, '2005-02-02', 4, 1.0); +insert into ratings values (895, 379558, '2005-09-26', 3, 0.3); +insert into ratings values (895, 379558, '2005-09-26', 4, 0.4); +insert into ratings values (895, 379558, '2005-09-26', 5, 0.3); +insert into ratings values (895, 14690, '2004-07-06', 4, 1.0); +insert into ratings values (895, 247794, '2001-06-16', 4, 1.0); +insert into ratings values (895, 484339, '2005-07-16', 2, 1.0); +insert into ratings values (896, 69867, '2001-03-11', 4, 1.0); +insert into ratings values (896, 276813, '2001-01-03', 1, 0.3); +insert into ratings values (896, 276813, '2001-01-03', 2, 0.5); +insert into ratings values (896, 276813, '2001-01-03', 3, 0.2); +insert into ratings values (896, 132390, '2004-05-26', 3, 0.2); +insert into ratings values (896, 132390, '2004-05-26', 4, 0.8); +insert into ratings values (896, 30878, '2004-02-02', 3, 0.4); +insert into ratings values (896, 30878, '2004-02-02', 4, 0.6); +insert into ratings values (896, 347081, '2005-08-01', 4, 1.0); +insert into ratings values (897, 430446, '2005-09-07', 3, 1.0); +insert into ratings values (897, 88271, '2005-09-18', 3, 0.2); +insert into ratings values (897, 88271, '2005-09-18', 4, 0.4); +insert into ratings values (897, 88271, '2005-09-18', 5, 0.4); +insert into ratings values (897, 109425, '2005-09-29', 2, 0.3); +insert into ratings values (897, 109425, '2005-09-29', 3, 0.4); +insert into ratings values (897, 109425, '2005-09-29', 4, 0.3); +insert into ratings values (897, 473644, '2005-10-18', 4, 1.0); +insert into ratings values (897, 110112, '2005-11-06', 4, 1.0); +insert into ratings values (898, 161299, '2004-03-02', 2, 0.6); +insert into ratings values (898, 161299, '2004-03-02', 3, 0.4); +insert into ratings values (898, 76196, '2002-01-09', 1, 1.0); +insert into ratings values (898, 331157, '2004-08-03', 1, 0.6); +insert into ratings values (898, 331157, '2004-08-03', 2, 0.4); +insert into ratings values (898, 452088, '2002-03-22', 3, 0.1); +insert into ratings values (898, 452088, '2002-03-22', 4, 0.4); +insert into ratings values (898, 452088, '2002-03-22', 5, 0.5); +insert into ratings values (898, 362214, '2005-04-03', 3, 0.3); +insert into ratings values (898, 362214, '2005-04-03', 4, 0.6); +insert into ratings values (898, 362214, '2005-04-03', 5, 0.1); +insert into ratings values (899, 49288, '2005-04-20', 2, 0.1); +insert into ratings values (899, 49288, '2005-04-20', 3, 0.6); +insert into ratings values (899, 49288, '2005-04-20', 4, 0.3); +insert into ratings values (899, 295242, '2004-12-10', 4, 1.0); +insert into ratings values (899, 477455, '2005-10-22', 2, 0.1); +insert into ratings values (899, 477455, '2005-10-22', 3, 0.4); +insert into ratings values (899, 477455, '2005-10-22', 4, 0.5); +insert into ratings values (899, 484043, '2004-11-20', 4, 1.0); +insert into ratings values (899, 33364, '2004-05-25', 2, 0.5); +insert into ratings values (899, 33364, '2004-05-25', 3, 0.5); +insert into ratings values (900, 364518, '2003-11-18', 2, 0.4); +insert into ratings values (900, 364518, '2003-11-18', 3, 0.6); +insert into ratings values (900, 56069, '2004-02-09', 3, 1.0); +insert into ratings values (900, 44937, '2003-01-04', 4, 1.0); +insert into ratings values (900, 239716, '2004-06-30', 4, 0.6); +insert into ratings values (900, 239716, '2004-06-30', 5, 0.4); +insert into ratings values (900, 198246, '2004-07-27', 3, 0.4); +insert into ratings values (900, 198246, '2004-07-27', 4, 0.6); +insert into ratings values (901, 390508, '2004-06-03', 4, 0.4); +insert into ratings values (901, 390508, '2004-06-03', 5, 0.6); +insert into ratings values (901, 341804, '2005-07-20', 3, 0.5); +insert into ratings values (901, 341804, '2005-07-20', 4, 0.5); +insert into ratings values (901, 43039, '2004-04-12', 4, 0.5); +insert into ratings values (901, 43039, '2004-04-12', 5, 0.5); +insert into ratings values (901, 499718, '2005-01-20', 2, 0.4); +insert into ratings values (901, 499718, '2005-01-20', 3, 0.6); +insert into ratings values (901, 494647, '2005-03-28', 4, 0.4); +insert into ratings values (901, 494647, '2005-03-28', 5, 0.6); +insert into ratings values (902, 263315, '2005-07-07', 2, 0.1); +insert into ratings values (902, 263315, '2005-07-07', 3, 0.6); +insert into ratings values (902, 263315, '2005-07-07', 4, 0.3); +insert into ratings values (902, 471879, '2005-08-12', 3, 1.0); +insert into ratings values (902, 137798, '2005-11-17', 3, 0.6); +insert into ratings values (902, 137798, '2005-11-17', 4, 0.4); +insert into ratings values (902, 480171, '2005-10-01', 2, 0.2); +insert into ratings values (902, 480171, '2005-10-01', 3, 0.8); +insert into ratings values (902, 360888, '2005-06-08', 1, 0.3); +insert into ratings values (902, 360888, '2005-06-08', 2, 0.7); +insert into ratings values (903, 196970, '2005-10-20', 2, 1.0); +insert into ratings values (903, 356035, '2005-10-01', 2, 0.3); +insert into ratings values (903, 356035, '2005-10-01', 3, 0.6); +insert into ratings values (903, 356035, '2005-10-01', 4, 0.1); +insert into ratings values (903, 65249, '2005-11-13', 3, 1.0); +insert into ratings values (903, 473571, '2005-10-12', 4, 1.0); +insert into ratings values (903, 452501, '2005-11-19', 1, 0.1); +insert into ratings values (903, 452501, '2005-11-19', 2, 0.6); +insert into ratings values (903, 452501, '2005-11-19', 3, 0.3); +insert into ratings values (904, 249052, '2005-01-28', 3, 0.3); +insert into ratings values (904, 249052, '2005-01-28', 4, 0.1); +insert into ratings values (904, 249052, '2005-01-28', 5, 0.6); +insert into ratings values (904, 68845, '2005-03-13', 1, 0.1); +insert into ratings values (904, 68845, '2005-03-13', 2, 0.4); +insert into ratings values (904, 68845, '2005-03-13', 3, 0.5); +insert into ratings values (904, 188829, '2005-10-18', 2, 0.2); +insert into ratings values (904, 188829, '2005-10-18', 3, 0.6); +insert into ratings values (904, 188829, '2005-10-18', 4, 0.2); +insert into ratings values (904, 63949, '2005-06-11', 2, 0.6); +insert into ratings values (904, 63949, '2005-06-11', 3, 0.4); +insert into ratings values (904, 179489, '2005-01-27', 5, 1.0); +insert into ratings values (905, 322178, '2005-03-18', 1, 0.7); +insert into ratings values (905, 322178, '2005-03-18', 2, 0.3); +insert into ratings values (905, 385977, '2005-05-09', 1, 0.7); +insert into ratings values (905, 385977, '2005-05-09', 2, 0.3); +insert into ratings values (905, 138027, '2005-04-27', 1, 1.0); +insert into ratings values (905, 491623, '2005-04-13', 1, 0.1); +insert into ratings values (905, 491623, '2005-04-13', 2, 0.6); +insert into ratings values (905, 491623, '2005-04-13', 3, 0.3); +insert into ratings values (905, 363541, '2005-06-05', 3, 1.0); +insert into ratings values (906, 247687, '2004-12-27', 1, 1.0); +insert into ratings values (906, 406121, '2004-12-13', 3, 0.6); +insert into ratings values (906, 406121, '2004-12-13', 4, 0.4); +insert into ratings values (906, 33625, '2005-01-24', 3, 0.2); +insert into ratings values (906, 33625, '2005-01-24', 4, 0.5); +insert into ratings values (906, 33625, '2005-01-24', 5, 0.3); +insert into ratings values (906, 163830, '2005-07-14', 1, 0.8); +insert into ratings values (906, 163830, '2005-07-14', 2, 0.2); +insert into ratings values (906, 3094, '2004-12-21', 2, 0.4); +insert into ratings values (906, 3094, '2004-12-21', 3, 0.6); +insert into ratings values (907, 364518, '2005-07-18', 3, 1.0); +insert into ratings values (907, 306466, '2004-12-13', 3, 0.2); +insert into ratings values (907, 306466, '2004-12-13', 4, 0.4); +insert into ratings values (907, 306466, '2004-12-13', 5, 0.4); +insert into ratings values (907, 390508, '2005-01-19', 2, 0.1); +insert into ratings values (907, 390508, '2005-01-19', 3, 0.4); +insert into ratings values (907, 390508, '2005-01-19', 4, 0.5); +insert into ratings values (907, 282486, '2005-02-02', 3, 1.0); +insert into ratings values (907, 357521, '2005-06-26', 3, 0.2); +insert into ratings values (907, 357521, '2005-06-26', 4, 0.6); +insert into ratings values (907, 357521, '2005-06-26', 5, 0.2); +insert into ratings values (908, 383894, '2005-07-29', 3, 0.3); +insert into ratings values (908, 383894, '2005-07-29', 4, 0.5); +insert into ratings values (908, 383894, '2005-07-29', 5, 0.2); +insert into ratings values (908, 325046, '2004-11-23', 5, 1.0); +insert into ratings values (908, 273292, '2004-11-29', 3, 0.5); +insert into ratings values (908, 273292, '2004-11-29', 4, 0.5); +insert into ratings values (908, 121910, '2005-01-03', 3, 1.0); +insert into ratings values (908, 113878, '2005-04-20', 3, 0.3); +insert into ratings values (908, 113878, '2005-04-20', 4, 0.6); +insert into ratings values (908, 113878, '2005-04-20', 5, 0.1); +insert into ratings values (909, 409239, '2005-08-08', 3, 1.0); +insert into ratings values (909, 61472, '2005-07-23', 3, 1.0); +insert into ratings values (909, 228207, '2005-07-31', 3, 1.0); +insert into ratings values (909, 307938, '2005-03-21', 5, 1.0); +insert into ratings values (909, 479563, '2005-04-06', 3, 1.0); +insert into ratings values (910, 41412, '2005-04-30', 4, 1.0); +insert into ratings values (910, 290215, '2005-08-23', 3, 1.0); +insert into ratings values (910, 346848, '2005-06-09', 2, 0.3); +insert into ratings values (910, 346848, '2005-06-09', 3, 0.7); +insert into ratings values (910, 498648, '2005-04-26', 4, 1.0); +insert into ratings values (910, 428831, '2005-06-30', 1, 0.6); +insert into ratings values (910, 428831, '2005-06-30', 2, 0.2); +insert into ratings values (910, 428831, '2005-06-30', 3, 0.2); +insert into ratings values (911, 247794, '2003-02-24', 3, 0.3); +insert into ratings values (911, 247794, '2003-02-24', 4, 0.7); +insert into ratings values (911, 264160, '2005-08-28', 3, 1.0); +insert into ratings values (911, 373295, '2004-12-21', 2, 0.4); +insert into ratings values (911, 373295, '2004-12-21', 3, 0.4); +insert into ratings values (911, 373295, '2004-12-21', 4, 0.2); +insert into ratings values (911, 142880, '2003-06-25', 1, 1.0); +insert into ratings values (911, 190249, '2004-12-02', 2, 0.8); +insert into ratings values (911, 190249, '2004-12-02', 3, 0.2); +insert into ratings values (912, 461110, '2004-12-29', 1, 1.0); +insert into ratings values (912, 415434, '2005-03-18', 3, 1.0); +insert into ratings values (912, 170899, '2005-02-14', 4, 0.8); +insert into ratings values (912, 170899, '2005-02-14', 5, 0.2); +insert into ratings values (912, 427928, '2004-03-11', 2, 0.2); +insert into ratings values (912, 427928, '2004-03-11', 3, 0.8); +insert into ratings values (912, 236577, '2004-08-06', 3, 0.2); +insert into ratings values (912, 236577, '2004-08-06', 4, 0.6); +insert into ratings values (912, 236577, '2004-08-06', 5, 0.2); +insert into ratings values (913, 218939, '2004-05-05', 4, 0.4); +insert into ratings values (913, 218939, '2004-05-05', 5, 0.6); +insert into ratings values (913, 172815, '2005-08-11', 3, 0.4); +insert into ratings values (913, 172815, '2005-08-11', 4, 0.6); +insert into ratings values (913, 100708, '2003-11-17', 2, 0.1); +insert into ratings values (913, 100708, '2003-11-17', 3, 0.6); +insert into ratings values (913, 100708, '2003-11-17', 4, 0.3); +insert into ratings values (913, 241149, '2005-01-02', 3, 0.6); +insert into ratings values (913, 241149, '2005-01-02', 4, 0.4); +insert into ratings values (913, 320468, '2005-11-10', 2, 0.3); +insert into ratings values (913, 320468, '2005-11-10', 3, 0.6); +insert into ratings values (913, 320468, '2005-11-10', 4, 0.1); +insert into ratings values (914, 482788, '2001-08-20', 3, 0.3); +insert into ratings values (914, 482788, '2001-08-20', 4, 0.4); +insert into ratings values (914, 482788, '2001-08-20', 5, 0.3); +insert into ratings values (914, 76196, '2002-01-29', 4, 0.3); +insert into ratings values (914, 76196, '2002-01-29', 5, 0.7); +insert into ratings values (914, 26648, '2005-02-23', 4, 1.0); +insert into ratings values (914, 224993, '2005-03-26', 2, 0.2); +insert into ratings values (914, 224993, '2005-03-26', 3, 0.8); +insert into ratings values (914, 333426, '2001-11-03', 2, 0.4); +insert into ratings values (914, 333426, '2001-11-03', 3, 0.5); +insert into ratings values (914, 333426, '2001-11-03', 4, 0.1); +insert into ratings values (915, 484675, '2005-10-04', 3, 0.3); +insert into ratings values (915, 484675, '2005-10-04', 4, 0.6); +insert into ratings values (915, 484675, '2005-10-04', 5, 0.1); +insert into ratings values (915, 157846, '2005-11-23', 4, 0.4); +insert into ratings values (915, 157846, '2005-11-23', 5, 0.6); +insert into ratings values (915, 305344, '2005-07-27', 1, 0.5); +insert into ratings values (915, 305344, '2005-07-27', 2, 0.5); +insert into ratings values (915, 387418, '2005-11-09', 1, 0.4); +insert into ratings values (915, 387418, '2005-11-09', 2, 0.5); +insert into ratings values (915, 387418, '2005-11-09', 3, 0.1); +insert into ratings values (915, 316155, '2005-11-14', 3, 0.5); +insert into ratings values (915, 316155, '2005-11-14', 4, 0.5); +insert into ratings values (916, 317060, '2005-10-16', 4, 0.5); +insert into ratings values (916, 317060, '2005-10-16', 5, 0.5); +insert into ratings values (916, 281396, '2005-07-23', 4, 0.4); +insert into ratings values (916, 281396, '2005-07-23', 5, 0.6); +insert into ratings values (916, 127010, '2005-11-28', 3, 1.0); +insert into ratings values (916, 96409, '2005-09-06', 4, 0.4); +insert into ratings values (916, 96409, '2005-09-06', 5, 0.6); +insert into ratings values (916, 86365, '2005-09-18', 2, 1.0); +insert into ratings values (917, 251535, '2004-07-15', 3, 0.1); +insert into ratings values (917, 251535, '2004-07-15', 4, 0.5); +insert into ratings values (917, 251535, '2004-07-15', 5, 0.4); +insert into ratings values (917, 246189, '2005-12-12', 4, 0.3); +insert into ratings values (917, 246189, '2005-12-12', 5, 0.7); +insert into ratings values (917, 44887, '2004-07-18', 2, 0.4); +insert into ratings values (917, 44887, '2004-07-18', 3, 0.4); +insert into ratings values (917, 44887, '2004-07-18', 4, 0.2); +insert into ratings values (917, 74450, '2005-03-21', 5, 1.0); +insert into ratings values (917, 454486, '2004-09-16', 3, 1.0); +insert into ratings values (918, 306466, '2004-03-19', 3, 0.2); +insert into ratings values (918, 306466, '2004-03-19', 4, 0.6); +insert into ratings values (918, 306466, '2004-03-19', 5, 0.2); +insert into ratings values (918, 390508, '2003-06-27', 5, 1.0); +insert into ratings values (918, 66358, '2005-08-28', 4, 1.0); +insert into ratings values (918, 464095, '2004-06-14', 4, 0.5); +insert into ratings values (918, 464095, '2004-06-14', 5, 0.5); +insert into ratings values (918, 75971, '2004-12-24', 2, 0.3); +insert into ratings values (918, 75971, '2004-12-24', 3, 0.6); +insert into ratings values (918, 75971, '2004-12-24', 4, 0.1); +insert into ratings values (919, 364518, '2003-10-27', 2, 0.1); +insert into ratings values (919, 364518, '2003-10-27', 3, 0.6); +insert into ratings values (919, 364518, '2003-10-27', 4, 0.3); +insert into ratings values (919, 306466, '2003-06-17', 3, 0.1); +insert into ratings values (919, 306466, '2003-06-17', 4, 0.5); +insert into ratings values (919, 306466, '2003-06-17', 5, 0.4); +insert into ratings values (919, 393953, '2004-07-13', 2, 1.0); +insert into ratings values (919, 311919, '2003-06-19', 1, 0.2); +insert into ratings values (919, 311919, '2003-06-19', 2, 0.6); +insert into ratings values (919, 311919, '2003-06-19', 3, 0.2); +insert into ratings values (919, 497224, '2003-06-11', 2, 0.8); +insert into ratings values (919, 497224, '2003-06-11', 3, 0.2); +insert into ratings values (920, 126998, '2004-08-09', 1, 0.4); +insert into ratings values (920, 126998, '2004-08-09', 2, 0.5); +insert into ratings values (920, 126998, '2004-08-09', 3, 0.1); +insert into ratings values (920, 215291, '2003-11-10', 3, 1.0); +insert into ratings values (920, 436947, '2005-03-05', 2, 0.3); +insert into ratings values (920, 436947, '2005-03-05', 3, 0.7); +insert into ratings values (920, 359141, '2004-06-21', 2, 0.4); +insert into ratings values (920, 359141, '2004-06-21', 3, 0.6); +insert into ratings values (920, 225338, '2003-10-02', 2, 1.0); +insert into ratings values (921, 247794, '2004-04-04', 3, 1.0); +insert into ratings values (921, 221091, '2003-09-11', 1, 0.6); +insert into ratings values (921, 221091, '2003-09-11', 2, 0.4); +insert into ratings values (921, 329712, '2005-07-22', 3, 0.3); +insert into ratings values (921, 329712, '2005-07-22', 4, 0.7); +insert into ratings values (921, 484675, '2003-05-15', 1, 0.1); +insert into ratings values (921, 484675, '2003-05-15', 2, 0.5); +insert into ratings values (921, 484675, '2003-05-15', 3, 0.4); +insert into ratings values (921, 496913, '2003-02-11', 2, 1.0); +insert into ratings values (922, 497196, '2005-01-08', 1, 0.3); +insert into ratings values (922, 497196, '2005-01-08', 2, 0.5); +insert into ratings values (922, 497196, '2005-01-08', 3, 0.2); +insert into ratings values (922, 127010, '2005-01-11', 3, 1.0); +insert into ratings values (922, 87893, '2005-03-06', 3, 1.0); +insert into ratings values (922, 325964, '2004-11-03', 1, 0.3); +insert into ratings values (922, 325964, '2004-11-03', 2, 0.6); +insert into ratings values (922, 325964, '2004-11-03', 3, 0.1); +insert into ratings values (922, 224945, '2005-02-07', 2, 1.0); +insert into ratings values (923, 41412, '2005-06-09', 2, 0.2); +insert into ratings values (923, 41412, '2005-06-09', 3, 0.5); +insert into ratings values (923, 41412, '2005-06-09', 4, 0.3); +insert into ratings values (923, 294993, '2005-07-05', 4, 0.6); +insert into ratings values (923, 294993, '2005-07-05', 5, 0.4); +insert into ratings values (923, 303948, '2005-06-30', 2, 0.2); +insert into ratings values (923, 303948, '2005-06-30', 3, 0.5); +insert into ratings values (923, 303948, '2005-06-30', 4, 0.3); +insert into ratings values (923, 313872, '2005-11-16', 2, 0.2); +insert into ratings values (923, 313872, '2005-11-16', 3, 0.5); +insert into ratings values (923, 313872, '2005-11-16', 4, 0.3); +insert into ratings values (923, 469021, '2004-12-06', 5, 1.0); +insert into ratings values (924, 293284, '2005-08-04', 4, 1.0); +insert into ratings values (924, 56371, '2005-07-24', 2, 0.4); +insert into ratings values (924, 56371, '2005-07-24', 3, 0.4); +insert into ratings values (924, 56371, '2005-07-24', 4, 0.2); +insert into ratings values (924, 187322, '2005-11-04', 1, 0.6); +insert into ratings values (924, 187322, '2005-11-04', 2, 0.4); +insert into ratings values (924, 44402, '2005-11-02', 2, 0.5); +insert into ratings values (924, 44402, '2005-11-02', 3, 0.4); +insert into ratings values (924, 44402, '2005-11-02', 4, 0.1); +insert into ratings values (924, 176377, '2005-06-30', 3, 1.0); +insert into ratings values (925, 436529, '2003-08-27', 4, 0.6); +insert into ratings values (925, 436529, '2003-08-27', 5, 0.4); +insert into ratings values (925, 266736, '2005-09-08', 2, 0.3); +insert into ratings values (925, 266736, '2005-09-08', 3, 0.7); +insert into ratings values (925, 163830, '2004-03-24', 2, 0.5); +insert into ratings values (925, 163830, '2004-03-24', 3, 0.5); +insert into ratings values (925, 455430, '2005-08-02', 2, 0.5); +insert into ratings values (925, 455430, '2005-08-02', 3, 0.5); +insert into ratings values (925, 66109, '2003-11-06', 1, 0.2); +insert into ratings values (925, 66109, '2003-11-06', 2, 0.4); +insert into ratings values (925, 66109, '2003-11-06', 3, 0.4); +insert into ratings values (926, 210970, '2005-08-30', 3, 1.0); +insert into ratings values (926, 155342, '2003-03-30', 1, 1.0); +insert into ratings values (926, 328212, '2004-07-23', 3, 1.0); +insert into ratings values (926, 96515, '2005-07-05', 4, 1.0); +insert into ratings values (926, 39307, '2004-10-14', 1, 0.1); +insert into ratings values (926, 39307, '2004-10-14', 2, 0.6); +insert into ratings values (926, 39307, '2004-10-14', 3, 0.3); +insert into ratings values (927, 216190, '2005-12-11', 3, 1.0); +insert into ratings values (927, 300074, '2005-07-09', 1, 1.0); +insert into ratings values (927, 375022, '2005-08-24', 3, 0.4); +insert into ratings values (927, 375022, '2005-08-24', 4, 0.6); +insert into ratings values (927, 133396, '2005-06-22', 5, 1.0); +insert into ratings values (927, 396132, '2005-09-13', 2, 0.1); +insert into ratings values (927, 396132, '2005-09-13', 3, 0.4); +insert into ratings values (927, 396132, '2005-09-13', 4, 0.5); +insert into ratings values (928, 487832, '2004-11-26', 1, 0.4); +insert into ratings values (928, 487832, '2004-11-26', 2, 0.5); +insert into ratings values (928, 487832, '2004-11-26', 3, 0.1); +insert into ratings values (928, 247794, '2004-07-15', 2, 1.0); +insert into ratings values (928, 289706, '2004-07-31', 3, 1.0); +insert into ratings values (928, 369848, '2005-01-25', 4, 0.4); +insert into ratings values (928, 369848, '2005-01-25', 5, 0.6); +insert into ratings values (928, 416557, '2005-04-28', 3, 1.0); +insert into ratings values (929, 370892, '2004-05-25', 1, 0.2); +insert into ratings values (929, 370892, '2004-05-25', 2, 0.4); +insert into ratings values (929, 370892, '2004-05-25', 3, 0.4); +insert into ratings values (929, 353906, '2004-03-03', 4, 1.0); +insert into ratings values (929, 251490, '2005-06-23', 2, 0.3); +insert into ratings values (929, 251490, '2005-06-23', 3, 0.7); +insert into ratings values (929, 489962, '2005-09-11', 1, 0.1); +insert into ratings values (929, 489962, '2005-09-11', 2, 0.4); +insert into ratings values (929, 489962, '2005-09-11', 3, 0.5); +insert into ratings values (929, 194431, '2004-05-12', 2, 0.3); +insert into ratings values (929, 194431, '2004-05-12', 3, 0.6); +insert into ratings values (929, 194431, '2004-05-12', 4, 0.1); +insert into ratings values (930, 440723, '2005-09-09', 4, 0.5); +insert into ratings values (930, 440723, '2005-09-09', 5, 0.5); +insert into ratings values (930, 232549, '2005-11-15', 4, 1.0); +insert into ratings values (930, 433300, '2004-08-18', 3, 0.5); +insert into ratings values (930, 433300, '2004-08-18', 4, 0.5); +insert into ratings values (930, 343099, '2005-11-15', 4, 0.4); +insert into ratings values (930, 343099, '2005-11-15', 5, 0.6); +insert into ratings values (930, 273550, '2005-08-27', 1, 1.0); +insert into ratings values (931, 163546, '2005-07-11', 3, 0.1); +insert into ratings values (931, 163546, '2005-07-11', 4, 0.4); +insert into ratings values (931, 163546, '2005-07-11', 5, 0.5); +insert into ratings values (931, 70976, '2004-02-28', 1, 0.4); +insert into ratings values (931, 70976, '2004-02-28', 2, 0.3); +insert into ratings values (931, 70976, '2004-02-28', 3, 0.3); +insert into ratings values (931, 52647, '2004-09-30', 2, 0.3); +insert into ratings values (931, 52647, '2004-09-30', 3, 0.4); +insert into ratings values (931, 52647, '2004-09-30', 4, 0.3); +insert into ratings values (931, 290706, '2005-04-05', 2, 0.2); +insert into ratings values (931, 290706, '2005-04-05', 3, 0.6); +insert into ratings values (931, 290706, '2005-04-05', 4, 0.2); +insert into ratings values (931, 76196, '2001-12-11', 1, 1.0); +insert into ratings values (932, 52887, '2005-01-13', 2, 1.0); +insert into ratings values (932, 183476, '2004-08-25', 3, 1.0); +insert into ratings values (932, 413790, '2005-11-20', 3, 0.5); +insert into ratings values (932, 413790, '2005-11-20', 4, 0.5); +insert into ratings values (932, 107956, '2005-02-18', 3, 1.0); +insert into ratings values (932, 345916, '2004-11-14', 2, 1.0); +insert into ratings values (933, 18956, '2005-10-06', 5, 1.0); +insert into ratings values (933, 162348, '2005-11-04', 3, 0.2); +insert into ratings values (933, 162348, '2005-11-04', 4, 0.8); +insert into ratings values (933, 41525, '2005-11-04', 4, 0.6); +insert into ratings values (933, 41525, '2005-11-04', 5, 0.4); +insert into ratings values (933, 153781, '2005-09-15', 2, 0.3); +insert into ratings values (933, 153781, '2005-09-15', 3, 0.4); +insert into ratings values (933, 153781, '2005-09-15', 4, 0.3); +insert into ratings values (933, 494150, '2005-12-17', 1, 0.4); +insert into ratings values (933, 494150, '2005-12-17', 2, 0.6); +insert into ratings values (934, 139297, '2004-02-20', 4, 0.4); +insert into ratings values (934, 139297, '2004-02-20', 5, 0.6); +insert into ratings values (934, 430446, '2004-11-08', 3, 1.0); +insert into ratings values (934, 247794, '2002-05-10', 3, 0.7); +insert into ratings values (934, 247794, '2002-05-10', 4, 0.3); +insert into ratings values (934, 433803, '2005-03-22', 3, 0.6); +insert into ratings values (934, 433803, '2005-03-22', 4, 0.4); +insert into ratings values (934, 447530, '2003-06-30', 1, 0.4); +insert into ratings values (934, 447530, '2003-06-30', 2, 0.4); +insert into ratings values (934, 447530, '2003-06-30', 3, 0.2); +insert into ratings values (935, 41412, '2005-10-04', 2, 1.0); +insert into ratings values (935, 305151, '2005-11-01', 4, 1.0); +insert into ratings values (935, 175214, '2005-11-13', 3, 0.2); +insert into ratings values (935, 175214, '2005-11-13', 4, 0.4); +insert into ratings values (935, 175214, '2005-11-13', 5, 0.4); +insert into ratings values (935, 497196, '2005-06-14', 4, 0.6); +insert into ratings values (935, 497196, '2005-06-14', 5, 0.4); +insert into ratings values (935, 146028, '2005-12-02', 3, 0.5); +insert into ratings values (935, 146028, '2005-12-02', 4, 0.1); +insert into ratings values (935, 146028, '2005-12-02', 5, 0.4); +insert into ratings values (936, 259348, '2004-07-27', 2, 0.2); +insert into ratings values (936, 259348, '2004-07-27', 3, 0.5); +insert into ratings values (936, 259348, '2004-07-27', 4, 0.3); +insert into ratings values (936, 300074, '2005-07-09', 1, 0.4); +insert into ratings values (936, 300074, '2005-07-09', 2, 0.1); +insert into ratings values (936, 300074, '2005-07-09', 3, 0.5); +insert into ratings values (936, 290741, '2004-07-20', 2, 0.4); +insert into ratings values (936, 290741, '2004-07-20', 3, 0.5); +insert into ratings values (936, 290741, '2004-07-20', 4, 0.1); +insert into ratings values (936, 61472, '2005-04-02', 2, 0.3); +insert into ratings values (936, 61472, '2005-04-02', 3, 0.7); +insert into ratings values (936, 95300, '2004-11-30', 4, 1.0); +insert into ratings values (937, 69867, '2001-08-13', 3, 0.6); +insert into ratings values (937, 69867, '2001-08-13', 4, 0.4); +insert into ratings values (937, 477388, '2000-09-30', 2, 0.5); +insert into ratings values (937, 477388, '2000-09-30', 3, 0.4); +insert into ratings values (937, 477388, '2000-09-30', 4, 0.1); +insert into ratings values (937, 180849, '2005-08-07', 3, 0.2); +insert into ratings values (937, 180849, '2005-08-07', 4, 0.4); +insert into ratings values (937, 180849, '2005-08-07', 5, 0.4); +insert into ratings values (937, 175214, '2005-08-09', 4, 1.0); +insert into ratings values (937, 249052, '2005-08-22', 4, 0.5); +insert into ratings values (937, 249052, '2005-08-22', 5, 0.5); +insert into ratings values (938, 349975, '2005-06-24', 2, 1.0); +insert into ratings values (938, 122437, '2005-11-18', 3, 0.7); +insert into ratings values (938, 122437, '2005-11-18', 4, 0.3); +insert into ratings values (938, 234798, '2004-04-05', 1, 0.6); +insert into ratings values (938, 234798, '2004-04-05', 2, 0.4); +insert into ratings values (938, 116390, '2003-04-09', 1, 0.5); +insert into ratings values (938, 116390, '2003-04-09', 2, 0.4); +insert into ratings values (938, 116390, '2003-04-09', 3, 0.1); +insert into ratings values (938, 355653, '2004-10-11', 2, 0.5); +insert into ratings values (938, 355653, '2004-10-11', 3, 0.4); +insert into ratings values (938, 355653, '2004-10-11', 4, 0.1); +insert into ratings values (939, 200255, '2005-12-07', 4, 0.6); +insert into ratings values (939, 200255, '2005-12-07', 5, 0.4); +insert into ratings values (939, 224358, '2005-12-08', 5, 1.0); +insert into ratings values (939, 425033, '2005-10-18', 3, 0.5); +insert into ratings values (939, 425033, '2005-10-18', 4, 0.5); +insert into ratings values (939, 460117, '2005-10-16', 5, 1.0); +insert into ratings values (939, 246987, '2005-11-21', 4, 1.0); +insert into ratings values (940, 477388, '2000-05-02', 2, 0.4); +insert into ratings values (940, 477388, '2000-05-02', 3, 0.6); +insert into ratings values (940, 41412, '2001-05-19', 4, 0.6); +insert into ratings values (940, 41412, '2001-05-19', 5, 0.4); +insert into ratings values (940, 139053, '2002-03-28', 3, 1.0); +insert into ratings values (940, 63382, '2004-06-11', 4, 0.3); +insert into ratings values (940, 63382, '2004-06-11', 5, 0.7); +insert into ratings values (940, 39956, '2003-11-22', 4, 0.4); +insert into ratings values (940, 39956, '2003-11-22', 5, 0.6); +insert into ratings values (941, 166830, '2003-01-16', 3, 0.5); +insert into ratings values (941, 166830, '2003-01-16', 4, 0.4); +insert into ratings values (941, 166830, '2003-01-16', 5, 0.1); +insert into ratings values (941, 301756, '2003-12-26', 1, 0.7); +insert into ratings values (941, 301756, '2003-12-26', 2, 0.3); +insert into ratings values (941, 155342, '2003-01-16', 1, 0.5); +insert into ratings values (941, 155342, '2003-01-16', 2, 0.5); +insert into ratings values (941, 156078, '2003-01-23', 1, 1.0); +insert into ratings values (941, 217789, '2004-06-30', 5, 1.0); +insert into ratings values (942, 173183, '2003-07-01', 1, 0.2); +insert into ratings values (942, 173183, '2003-07-01', 2, 0.5); +insert into ratings values (942, 173183, '2003-07-01', 3, 0.3); +insert into ratings values (942, 86879, '2002-12-27', 3, 0.1); +insert into ratings values (942, 86879, '2002-12-27', 4, 0.5); +insert into ratings values (942, 86879, '2002-12-27', 5, 0.4); +insert into ratings values (942, 135348, '2003-08-21', 2, 0.2); +insert into ratings values (942, 135348, '2003-08-21', 3, 0.6); +insert into ratings values (942, 135348, '2003-08-21', 4, 0.2); +insert into ratings values (942, 209200, '2003-05-28', 1, 0.3); +insert into ratings values (942, 209200, '2003-05-28', 2, 0.7); +insert into ratings values (942, 46036, '2003-08-22', 2, 1.0); +insert into ratings values (943, 247794, '2005-11-06', 3, 0.3); +insert into ratings values (943, 247794, '2005-11-06', 4, 0.4); +insert into ratings values (943, 247794, '2005-11-06', 5, 0.3); +insert into ratings values (943, 241688, '2005-11-18', 3, 0.8); +insert into ratings values (943, 241688, '2005-11-18', 4, 0.2); +insert into ratings values (943, 228118, '2005-10-24', 3, 0.4); +insert into ratings values (943, 228118, '2005-10-24', 4, 0.1); +insert into ratings values (943, 228118, '2005-10-24', 5, 0.5); +insert into ratings values (943, 202810, '2005-10-31', 4, 0.6); +insert into ratings values (943, 202810, '2005-10-31', 5, 0.4); +insert into ratings values (943, 179563, '2005-11-03', 4, 0.2); +insert into ratings values (943, 179563, '2005-11-03', 5, 0.8); +insert into ratings values (944, 419746, '2002-10-16', 1, 1.0); +insert into ratings values (944, 172474, '2003-03-06', 4, 1.0); +insert into ratings values (944, 486507, '2002-10-11', 1, 0.5); +insert into ratings values (944, 486507, '2002-10-11', 2, 0.5); +insert into ratings values (944, 347209, '2003-06-27', 3, 1.0); +insert into ratings values (944, 155342, '2003-03-30', 1, 0.5); +insert into ratings values (944, 155342, '2003-03-30', 2, 0.2); +insert into ratings values (944, 155342, '2003-03-30', 3, 0.3); +insert into ratings values (945, 41412, '2004-09-07', 2, 0.3); +insert into ratings values (945, 41412, '2004-09-07', 3, 0.6); +insert into ratings values (945, 41412, '2004-09-07', 4, 0.1); +insert into ratings values (945, 290215, '2004-07-22', 2, 0.6); +insert into ratings values (945, 290215, '2004-07-22', 3, 0.4); +insert into ratings values (945, 160240, '2004-08-30', 4, 1.0); +insert into ratings values (945, 387341, '2003-06-06', 3, 0.3); +insert into ratings values (945, 387341, '2003-06-06', 4, 0.5); +insert into ratings values (945, 387341, '2003-06-06', 5, 0.2); +insert into ratings values (945, 95261, '2004-09-09', 4, 1.0); +insert into ratings values (946, 456861, '2005-11-11', 3, 0.1); +insert into ratings values (946, 456861, '2005-11-11', 4, 0.3); +insert into ratings values (946, 456861, '2005-11-11', 5, 0.6); +insert into ratings values (946, 216190, '2005-12-29', 1, 0.4); +insert into ratings values (946, 216190, '2005-12-29', 2, 0.4); +insert into ratings values (946, 216190, '2005-12-29', 3, 0.2); +insert into ratings values (946, 116168, '2005-12-14', 2, 0.5); +insert into ratings values (946, 116168, '2005-12-14', 3, 0.5); +insert into ratings values (946, 180296, '2005-11-11', 4, 1.0); +insert into ratings values (946, 469021, '2005-11-01', 1, 0.4); +insert into ratings values (946, 469021, '2005-11-01', 2, 0.6); +insert into ratings values (947, 282781, '2005-06-06', 4, 1.0); +insert into ratings values (947, 145212, '2005-07-05', 4, 0.5); +insert into ratings values (947, 145212, '2005-07-05', 5, 0.5); +insert into ratings values (947, 360830, '2005-08-10', 4, 1.0); +insert into ratings values (947, 1333, '2005-05-31', 2, 0.3); +insert into ratings values (947, 1333, '2005-05-31', 3, 0.6); +insert into ratings values (947, 1333, '2005-05-31', 4, 0.1); +insert into ratings values (947, 327179, '2005-06-08', 2, 0.4); +insert into ratings values (947, 327179, '2005-06-08', 3, 0.6); +insert into ratings values (948, 325964, '2005-10-21', 2, 0.1); +insert into ratings values (948, 325964, '2005-10-21', 3, 0.6); +insert into ratings values (948, 325964, '2005-10-21', 4, 0.3); +insert into ratings values (948, 364540, '2005-05-04', 1, 0.2); +insert into ratings values (948, 364540, '2005-05-04', 2, 0.5); +insert into ratings values (948, 364540, '2005-05-04', 3, 0.3); +insert into ratings values (948, 214097, '2005-12-07', 4, 1.0); +insert into ratings values (948, 152958, '2004-07-09', 1, 0.8); +insert into ratings values (948, 152958, '2004-07-09', 2, 0.2); +insert into ratings values (948, 217305, '2005-08-27', 1, 0.3); +insert into ratings values (948, 217305, '2005-08-27', 2, 0.5); +insert into ratings values (948, 217305, '2005-08-27', 3, 0.2); +insert into ratings values (949, 68365, '2005-04-13', 4, 0.5); +insert into ratings values (949, 68365, '2005-04-13', 5, 0.5); +insert into ratings values (949, 86767, '2005-09-18', 3, 0.3); +insert into ratings values (949, 86767, '2005-09-18', 4, 0.4); +insert into ratings values (949, 86767, '2005-09-18', 5, 0.3); +insert into ratings values (949, 190795, '2005-11-16', 3, 0.4); +insert into ratings values (949, 190795, '2005-11-16', 4, 0.4); +insert into ratings values (949, 190795, '2005-11-16', 5, 0.2); +insert into ratings values (949, 330334, '2004-05-19', 4, 0.6); +insert into ratings values (949, 330334, '2004-05-19', 5, 0.4); +insert into ratings values (949, 24344, '2004-10-04', 4, 1.0); +insert into ratings values (950, 395732, '2003-01-24', 2, 0.5); +insert into ratings values (950, 395732, '2003-01-24', 3, 0.4); +insert into ratings values (950, 395732, '2003-01-24', 4, 0.1); +insert into ratings values (950, 360272, '2004-10-17', 2, 1.0); +insert into ratings values (950, 218543, '2004-04-29', 2, 0.1); +insert into ratings values (950, 218543, '2004-04-29', 3, 0.4); +insert into ratings values (950, 218543, '2004-04-29', 4, 0.5); +insert into ratings values (950, 229785, '2001-10-02', 2, 0.6); +insert into ratings values (950, 229785, '2001-10-02', 3, 0.4); +insert into ratings values (950, 165644, '2001-02-20', 1, 0.5); +insert into ratings values (950, 165644, '2001-02-20', 2, 0.1); +insert into ratings values (950, 165644, '2001-02-20', 3, 0.4); +insert into ratings values (951, 193223, '2004-11-24', 3, 0.1); +insert into ratings values (951, 193223, '2004-11-24', 4, 0.5); +insert into ratings values (951, 193223, '2004-11-24', 5, 0.4); +insert into ratings values (951, 70976, '2004-02-28', 1, 0.6); +insert into ratings values (951, 70976, '2004-02-28', 2, 0.3); +insert into ratings values (951, 70976, '2004-02-28', 3, 0.1); +insert into ratings values (951, 114904, '2005-01-19', 4, 1.0); +insert into ratings values (951, 155342, '2003-03-30', 1, 1.0); +insert into ratings values (951, 49585, '2003-01-20', 1, 0.2); +insert into ratings values (951, 49585, '2003-01-20', 2, 0.6); +insert into ratings values (951, 49585, '2003-01-20', 3, 0.2); +insert into ratings values (952, 121910, '2005-09-05', 4, 1.0); +insert into ratings values (952, 88271, '2005-10-10', 3, 0.3); +insert into ratings values (952, 88271, '2005-10-10', 4, 0.1); +insert into ratings values (952, 88271, '2005-10-10', 5, 0.6); +insert into ratings values (952, 497196, '2004-07-26', 4, 0.6); +insert into ratings values (952, 497196, '2004-07-26', 5, 0.4); +insert into ratings values (952, 97704, '2005-08-29', 2, 0.1); +insert into ratings values (952, 97704, '2005-08-29', 3, 0.4); +insert into ratings values (952, 97704, '2005-08-29', 4, 0.5); +insert into ratings values (952, 235540, '2005-09-05', 5, 1.0); +insert into ratings values (953, 306466, '2001-05-19', 2, 1.0); +insert into ratings values (953, 276813, '2003-08-15', 4, 1.0); +insert into ratings values (953, 181323, '2003-03-08', 3, 0.2); +insert into ratings values (953, 181323, '2003-03-08', 4, 0.2); +insert into ratings values (953, 181323, '2003-03-08', 5, 0.6); +insert into ratings values (953, 33916, '2002-08-28', 3, 1.0); +insert into ratings values (953, 400164, '2002-10-02', 3, 0.2); +insert into ratings values (953, 400164, '2002-10-02', 4, 0.6); +insert into ratings values (953, 400164, '2002-10-02', 5, 0.2); +insert into ratings values (954, 364518, '2004-09-14', 3, 0.7); +insert into ratings values (954, 364518, '2004-09-14', 4, 0.3); +insert into ratings values (954, 306466, '2004-06-07', 2, 0.4); +insert into ratings values (954, 306466, '2004-06-07', 3, 0.4); +insert into ratings values (954, 306466, '2004-06-07', 4, 0.2); +insert into ratings values (954, 160977, '2004-05-17', 2, 0.4); +insert into ratings values (954, 160977, '2004-05-17', 3, 0.4); +insert into ratings values (954, 160977, '2004-05-17', 4, 0.2); +insert into ratings values (954, 383894, '2004-05-23', 3, 0.3); +insert into ratings values (954, 383894, '2004-05-23', 4, 0.6); +insert into ratings values (954, 383894, '2004-05-23', 5, 0.1); +insert into ratings values (954, 134188, '2004-07-27', 3, 0.1); +insert into ratings values (954, 134188, '2004-07-27', 4, 0.5); +insert into ratings values (954, 134188, '2004-07-27', 5, 0.4); +insert into ratings values (955, 344987, '2003-05-30', 4, 1.0); +insert into ratings values (955, 289162, '2003-10-15', 4, 1.0); +insert into ratings values (955, 62330, '2005-06-05', 3, 0.1); +insert into ratings values (955, 62330, '2005-06-05', 4, 0.5); +insert into ratings values (955, 62330, '2005-06-05', 5, 0.4); +insert into ratings values (955, 357883, '2003-08-18', 3, 0.5); +insert into ratings values (955, 357883, '2003-08-18', 4, 0.4); +insert into ratings values (955, 357883, '2003-08-18', 5, 0.1); +insert into ratings values (955, 150751, '2004-05-27', 3, 0.1); +insert into ratings values (955, 150751, '2004-05-27', 4, 0.5); +insert into ratings values (955, 150751, '2004-05-27', 5, 0.4); +insert into ratings values (956, 461110, '2003-04-03', 1, 0.5); +insert into ratings values (956, 461110, '2003-04-03', 2, 0.3); +insert into ratings values (956, 461110, '2003-04-03', 3, 0.2); +insert into ratings values (956, 441324, '2005-01-11', 2, 1.0); +insert into ratings values (956, 468223, '2005-11-27', 1, 0.6); +insert into ratings values (956, 468223, '2005-11-27', 2, 0.2); +insert into ratings values (956, 468223, '2005-11-27', 3, 0.2); +insert into ratings values (956, 76196, '2002-01-09', 1, 0.7); +insert into ratings values (956, 76196, '2002-01-09', 2, 0.3); +insert into ratings values (956, 46036, '2003-10-04', 3, 1.0); +insert into ratings values (957, 264160, '2005-08-28', 3, 1.0); +insert into ratings values (957, 231110, '2005-03-25', 3, 0.2); +insert into ratings values (957, 231110, '2005-03-25', 4, 0.4); +insert into ratings values (957, 231110, '2005-03-25', 5, 0.4); +insert into ratings values (957, 317060, '2005-09-27', 5, 1.0); +insert into ratings values (957, 281396, '2004-10-19', 3, 0.4); +insert into ratings values (957, 281396, '2004-10-19', 4, 0.1); +insert into ratings values (957, 281396, '2004-10-19', 5, 0.5); +insert into ratings values (957, 21663, '2005-03-22', 3, 0.1); +insert into ratings values (957, 21663, '2005-03-22', 4, 0.5); +insert into ratings values (957, 21663, '2005-03-22', 5, 0.4); +insert into ratings values (958, 342791, '2004-08-26', 4, 0.7); +insert into ratings values (958, 342791, '2004-08-26', 5, 0.3); +insert into ratings values (958, 54781, '2004-08-23', 4, 0.2); +insert into ratings values (958, 54781, '2004-08-23', 5, 0.8); +insert into ratings values (958, 110641, '2003-12-15', 5, 1.0); +insert into ratings values (958, 444400, '2005-06-24', 4, 1.0); +insert into ratings values (958, 430109, '2004-07-23', 3, 0.5); +insert into ratings values (958, 430109, '2004-07-23', 4, 0.5); +insert into ratings values (959, 300074, '2005-07-09', 1, 0.4); +insert into ratings values (959, 300074, '2005-07-09', 2, 0.6); +insert into ratings values (959, 301456, '2005-10-23', 4, 0.3); +insert into ratings values (959, 301456, '2005-10-23', 5, 0.7); +insert into ratings values (959, 489925, '2004-08-16', 2, 0.3); +insert into ratings values (959, 489925, '2004-08-16', 3, 0.6); +insert into ratings values (959, 489925, '2004-08-16', 4, 0.1); +insert into ratings values (959, 332188, '2004-10-13', 2, 1.0); +insert into ratings values (959, 237070, '2005-08-05', 3, 0.2); +insert into ratings values (959, 237070, '2005-08-05', 4, 0.2); +insert into ratings values (959, 237070, '2005-08-05', 5, 0.6); +insert into ratings values (960, 139297, '2004-08-16', 2, 0.5); +insert into ratings values (960, 139297, '2004-08-16', 3, 0.4); +insert into ratings values (960, 139297, '2004-08-16', 4, 0.1); +insert into ratings values (960, 67976, '2004-11-02', 4, 1.0); +insert into ratings values (960, 409415, '2005-01-10', 3, 0.4); +insert into ratings values (960, 409415, '2005-01-10', 4, 0.5); +insert into ratings values (960, 409415, '2005-01-10', 5, 0.1); +insert into ratings values (960, 192061, '2005-01-19', 1, 0.1); +insert into ratings values (960, 192061, '2005-01-19', 2, 0.6); +insert into ratings values (960, 192061, '2005-01-19', 3, 0.3); +insert into ratings values (960, 259348, '2004-06-29', 3, 0.5); +insert into ratings values (960, 259348, '2004-06-29', 4, 0.5); +insert into ratings values (961, 141932, '2004-12-13', 4, 0.2); +insert into ratings values (961, 141932, '2004-12-13', 5, 0.8); +insert into ratings values (961, 160977, '2005-05-02', 3, 0.5); +insert into ratings values (961, 160977, '2005-05-02', 4, 0.4); +insert into ratings values (961, 160977, '2005-05-02', 5, 0.1); +insert into ratings values (961, 436529, '2003-03-11', 3, 0.3); +insert into ratings values (961, 436529, '2003-03-11', 4, 0.5); +insert into ratings values (961, 436529, '2003-03-11', 5, 0.2); +insert into ratings values (961, 76196, '2002-02-02', 3, 0.5); +insert into ratings values (961, 76196, '2002-02-02', 4, 0.5); +insert into ratings values (961, 92056, '2005-07-22', 5, 1.0); +insert into ratings values (962, 69867, '2003-04-23', 2, 0.2); +insert into ratings values (962, 69867, '2003-04-23', 3, 0.4); +insert into ratings values (962, 69867, '2003-04-23', 4, 0.4); +insert into ratings values (962, 276813, '2003-06-16', 3, 0.2); +insert into ratings values (962, 276813, '2003-06-16', 4, 0.8); +insert into ratings values (962, 439011, '2003-08-12', 3, 0.5); +insert into ratings values (962, 439011, '2003-08-12', 4, 0.4); +insert into ratings values (962, 439011, '2003-08-12', 5, 0.1); +insert into ratings values (962, 404377, '2003-04-29', 3, 0.5); +insert into ratings values (962, 404377, '2003-04-29', 4, 0.5); +insert into ratings values (962, 439931, '2004-07-31', 4, 1.0); +insert into ratings values (963, 69867, '2000-12-07', 3, 0.8); +insert into ratings values (963, 69867, '2000-12-07', 4, 0.2); +insert into ratings values (963, 306466, '2001-03-15', 4, 1.0); +insert into ratings values (963, 422507, '2005-07-14', 3, 0.1); +insert into ratings values (963, 422507, '2005-07-14', 4, 0.3); +insert into ratings values (963, 422507, '2005-07-14', 5, 0.6); +insert into ratings values (963, 487119, '2004-03-19', 3, 0.1); +insert into ratings values (963, 487119, '2004-03-19', 4, 0.4); +insert into ratings values (963, 487119, '2004-03-19', 5, 0.5); +insert into ratings values (963, 426397, '2004-08-15', 3, 0.4); +insert into ratings values (963, 426397, '2004-08-15', 4, 0.6); +insert into ratings values (964, 146851, '2004-07-05', 4, 0.5); +insert into ratings values (964, 146851, '2004-07-05', 5, 0.5); +insert into ratings values (964, 132390, '2004-10-11', 2, 0.2); +insert into ratings values (964, 132390, '2004-10-11', 3, 0.5); +insert into ratings values (964, 132390, '2004-10-11', 4, 0.3); +insert into ratings values (964, 41412, '2005-06-02', 3, 0.6); +insert into ratings values (964, 41412, '2005-06-02', 4, 0.4); +insert into ratings values (964, 180200, '2004-02-29', 4, 0.6); +insert into ratings values (964, 180200, '2004-02-29', 5, 0.4); +insert into ratings values (964, 141839, '2005-10-19', 3, 0.3); +insert into ratings values (964, 141839, '2005-10-19', 4, 0.1); +insert into ratings values (964, 141839, '2005-10-19', 5, 0.6); +insert into ratings values (965, 239718, '2005-01-01', 3, 0.2); +insert into ratings values (965, 239718, '2005-01-01', 4, 0.2); +insert into ratings values (965, 239718, '2005-01-01', 5, 0.6); +insert into ratings values (965, 427561, '2004-07-13', 4, 0.6); +insert into ratings values (965, 427561, '2004-07-13', 5, 0.4); +insert into ratings values (965, 198587, '2004-02-13', 3, 0.4); +insert into ratings values (965, 198587, '2004-02-13', 4, 0.6); +insert into ratings values (965, 325794, '2004-03-29', 4, 1.0); +insert into ratings values (965, 155342, '2003-03-24', 1, 0.5); +insert into ratings values (965, 155342, '2003-03-24', 2, 0.5); +insert into ratings values (966, 497196, '2003-04-13', 4, 0.3); +insert into ratings values (966, 497196, '2003-04-13', 5, 0.7); +insert into ratings values (966, 76196, '2002-02-02', 1, 0.2); +insert into ratings values (966, 76196, '2002-02-02', 2, 0.8); +insert into ratings values (966, 126998, '2004-07-13', 4, 0.5); +insert into ratings values (966, 126998, '2004-07-13', 5, 0.5); +insert into ratings values (966, 315229, '2005-02-07', 3, 1.0); +insert into ratings values (966, 184039, '2004-03-04', 3, 1.0); +insert into ratings values (967, 181713, '2005-12-09', 3, 1.0); +insert into ratings values (967, 33001, '2005-10-24', 5, 1.0); +insert into ratings values (967, 204280, '2005-07-18', 4, 0.3); +insert into ratings values (967, 204280, '2005-07-18', 5, 0.7); +insert into ratings values (967, 345673, '2005-05-23', 4, 1.0); +insert into ratings values (967, 319119, '2005-11-02', 4, 1.0); +insert into ratings values (968, 311189, '2005-02-08', 3, 1.0); +insert into ratings values (968, 157631, '2004-12-12', 3, 0.3); +insert into ratings values (968, 157631, '2004-12-12', 4, 0.5); +insert into ratings values (968, 157631, '2004-12-12', 5, 0.2); +insert into ratings values (968, 153693, '2004-12-28', 4, 0.4); +insert into ratings values (968, 153693, '2004-12-28', 5, 0.6); +insert into ratings values (968, 139991, '2005-04-29', 1, 0.2); +insert into ratings values (968, 139991, '2005-04-29', 2, 0.4); +insert into ratings values (968, 139991, '2005-04-29', 3, 0.4); +insert into ratings values (968, 139433, '2005-01-03', 3, 0.2); +insert into ratings values (968, 139433, '2005-01-03', 4, 0.8); +insert into ratings values (969, 247794, '2003-10-27', 2, 1.0); +insert into ratings values (969, 87673, '2005-10-08', 1, 0.4); +insert into ratings values (969, 87673, '2005-10-08', 2, 0.6); +insert into ratings values (969, 435009, '2004-10-05', 4, 1.0); +insert into ratings values (969, 473435, '2005-06-29', 2, 1.0); +insert into ratings values (969, 399693, '2005-01-08', 1, 1.0); +insert into ratings values (970, 497196, '2005-04-26', 3, 1.0); +insert into ratings values (970, 385175, '2005-04-04', 2, 1.0); +insert into ratings values (970, 385639, '2005-08-01', 2, 1.0); +insert into ratings values (970, 315229, '2005-07-22', 1, 0.6); +insert into ratings values (970, 315229, '2005-07-22', 2, 0.4); +insert into ratings values (970, 256921, '2005-06-28', 2, 0.3); +insert into ratings values (970, 256921, '2005-06-28', 3, 0.6); +insert into ratings values (970, 256921, '2005-06-28', 4, 0.1); +insert into ratings values (971, 487832, '2004-08-23', 4, 1.0); +insert into ratings values (971, 390508, '2004-12-07', 4, 1.0); +insert into ratings values (971, 146851, '2005-02-14', 4, 0.7); +insert into ratings values (971, 146851, '2005-02-14', 5, 0.3); +insert into ratings values (971, 58248, '2004-06-08', 3, 1.0); +insert into ratings values (971, 163546, '2004-08-19', 4, 1.0); +insert into ratings values (972, 172815, '2005-08-31', 2, 0.3); +insert into ratings values (972, 172815, '2005-08-31', 3, 0.7); +insert into ratings values (972, 429665, '2004-11-03', 2, 0.6); +insert into ratings values (972, 429665, '2004-11-03', 3, 0.4); +insert into ratings values (972, 246410, '2005-08-16', 1, 0.4); +insert into ratings values (972, 246410, '2005-08-16', 2, 0.6); +insert into ratings values (972, 20256, '2004-06-06', 3, 0.4); +insert into ratings values (972, 20256, '2004-06-06', 4, 0.4); +insert into ratings values (972, 20256, '2004-06-06', 5, 0.2); +insert into ratings values (972, 1357, '2004-04-22', 3, 0.1); +insert into ratings values (972, 1357, '2004-04-22', 4, 0.5); +insert into ratings values (972, 1357, '2004-04-22', 5, 0.4); +insert into ratings values (973, 132468, '2004-03-10', 5, 1.0); +insert into ratings values (973, 58374, '2004-07-21', 4, 1.0); +insert into ratings values (973, 77469, '2004-09-18', 4, 0.8); +insert into ratings values (973, 77469, '2004-09-18', 5, 0.2); +insert into ratings values (973, 467372, '2003-04-04', 3, 0.3); +insert into ratings values (973, 467372, '2003-04-04', 4, 0.1); +insert into ratings values (973, 467372, '2003-04-04', 5, 0.6); +insert into ratings values (973, 42576, '2005-06-21', 4, 0.4); +insert into ratings values (973, 42576, '2005-06-21', 5, 0.6); +insert into ratings values (974, 163830, '2004-02-25', 3, 0.4); +insert into ratings values (974, 163830, '2004-02-25', 4, 0.4); +insert into ratings values (974, 163830, '2004-02-25', 5, 0.2); +insert into ratings values (974, 269469, '2003-12-24', 2, 0.3); +insert into ratings values (974, 269469, '2003-12-24', 3, 0.5); +insert into ratings values (974, 269469, '2003-12-24', 4, 0.2); +insert into ratings values (974, 276860, '2005-11-29', 2, 0.1); +insert into ratings values (974, 276860, '2005-11-29', 3, 0.6); +insert into ratings values (974, 276860, '2005-11-29', 4, 0.3); +insert into ratings values (974, 281851, '2005-11-15', 4, 0.6); +insert into ratings values (974, 281851, '2005-11-15', 5, 0.4); +insert into ratings values (974, 354091, '2005-03-02', 3, 0.2); +insert into ratings values (974, 354091, '2005-03-02', 4, 0.6); +insert into ratings values (974, 354091, '2005-03-02', 5, 0.2); +insert into ratings values (975, 405831, '2002-05-14', 1, 1.0); +insert into ratings values (975, 319258, '2004-10-21', 2, 1.0); +insert into ratings values (975, 351841, '2004-01-13', 1, 1.0); +insert into ratings values (975, 411396, '2002-08-13', 2, 0.3); +insert into ratings values (975, 411396, '2002-08-13', 3, 0.5); +insert into ratings values (975, 411396, '2002-08-13', 4, 0.2); +insert into ratings values (975, 235789, '2004-10-27', 1, 0.3); +insert into ratings values (975, 235789, '2004-10-27', 2, 0.6); +insert into ratings values (975, 235789, '2004-10-27', 3, 0.1); +insert into ratings values (976, 484339, '2004-03-15', 2, 1.0); +insert into ratings values (976, 346231, '2004-05-24', 3, 0.2); +insert into ratings values (976, 346231, '2004-05-24', 4, 0.8); +insert into ratings values (976, 302269, '2003-11-18', 1, 0.3); +insert into ratings values (976, 302269, '2003-11-18', 2, 0.6); +insert into ratings values (976, 302269, '2003-11-18', 3, 0.1); +insert into ratings values (976, 140351, '2004-08-18', 3, 0.5); +insert into ratings values (976, 140351, '2004-08-18', 4, 0.5); +insert into ratings values (976, 349245, '2005-02-25', 3, 0.1); +insert into ratings values (976, 349245, '2005-02-25', 4, 0.3); +insert into ratings values (976, 349245, '2005-02-25', 5, 0.6); +insert into ratings values (977, 314837, '2003-08-29', 2, 0.3); +insert into ratings values (977, 314837, '2003-08-29', 3, 0.4); +insert into ratings values (977, 314837, '2003-08-29', 4, 0.3); +insert into ratings values (977, 63170, '2003-01-19', 1, 0.2); +insert into ratings values (977, 63170, '2003-01-19', 2, 0.6); +insert into ratings values (977, 63170, '2003-01-19', 3, 0.2); +insert into ratings values (977, 102219, '2004-02-21', 3, 0.1); +insert into ratings values (977, 102219, '2004-02-21', 4, 0.4); +insert into ratings values (977, 102219, '2004-02-21', 5, 0.5); +insert into ratings values (977, 321556, '2002-05-29', 1, 1.0); +insert into ratings values (977, 232549, '2004-03-02', 4, 0.7); +insert into ratings values (977, 232549, '2004-03-02', 5, 0.3); +insert into ratings values (978, 364518, '2004-01-05', 3, 0.1); +insert into ratings values (978, 364518, '2004-01-05', 4, 0.5); +insert into ratings values (978, 364518, '2004-01-05', 5, 0.4); +insert into ratings values (978, 391744, '2005-07-26', 1, 0.4); +insert into ratings values (978, 391744, '2005-07-26', 2, 0.6); +insert into ratings values (978, 115498, '2002-04-28', 4, 0.5); +insert into ratings values (978, 115498, '2002-04-28', 5, 0.5); +insert into ratings values (978, 497196, '2004-02-04', 3, 0.7); +insert into ratings values (978, 497196, '2004-02-04', 4, 0.3); +insert into ratings values (978, 163546, '2004-05-21', 4, 1.0); +insert into ratings values (979, 497196, '2003-05-06', 1, 1.0); +insert into ratings values (979, 76196, '2002-01-24', 3, 0.6); +insert into ratings values (979, 76196, '2002-01-24', 4, 0.4); +insert into ratings values (979, 126998, '2004-05-27', 3, 0.7); +insert into ratings values (979, 126998, '2004-05-27', 4, 0.3); +insert into ratings values (979, 315229, '2005-03-15', 4, 1.0); +insert into ratings values (979, 380192, '2001-02-07', 2, 0.6); +insert into ratings values (979, 380192, '2001-02-07', 3, 0.4); +insert into ratings values (980, 63382, '2005-08-08', 2, 0.2); +insert into ratings values (980, 63382, '2005-08-08', 3, 0.6); +insert into ratings values (980, 63382, '2005-08-08', 4, 0.2); +insert into ratings values (980, 408856, '2004-06-08', 3, 1.0); +insert into ratings values (980, 441324, '2005-01-19', 2, 0.1); +insert into ratings values (980, 441324, '2005-01-19', 3, 0.5); +insert into ratings values (980, 441324, '2005-01-19', 4, 0.4); +insert into ratings values (980, 92056, '2005-09-01', 3, 1.0); +insert into ratings values (980, 436636, '2005-08-09', 3, 0.1); +insert into ratings values (980, 436636, '2005-08-09', 4, 0.4); +insert into ratings values (980, 436636, '2005-08-09', 5, 0.5); +insert into ratings values (981, 248932, '2004-09-27', 4, 1.0); +insert into ratings values (981, 491331, '2005-10-11', 1, 0.7); +insert into ratings values (981, 491331, '2005-10-11', 2, 0.3); +insert into ratings values (981, 198046, '2004-12-08', 2, 0.5); +insert into ratings values (981, 198046, '2004-12-08', 3, 0.5); +insert into ratings values (981, 366695, '2005-05-07', 4, 1.0); +insert into ratings values (981, 178860, '2004-11-05', 3, 1.0); +insert into ratings values (982, 452013, '2005-01-19', 4, 0.5); +insert into ratings values (982, 452013, '2005-01-19', 5, 0.5); +insert into ratings values (982, 181713, '2005-10-28', 2, 0.3); +insert into ratings values (982, 181713, '2005-10-28', 3, 0.4); +insert into ratings values (982, 181713, '2005-10-28', 4, 0.3); +insert into ratings values (982, 102219, '2003-03-30', 3, 1.0); +insert into ratings values (982, 486272, '2004-04-06', 3, 0.3); +insert into ratings values (982, 486272, '2004-04-06', 4, 0.7); +insert into ratings values (982, 33001, '2003-11-24', 4, 1.0); +insert into ratings values (983, 361407, '2002-12-21', 3, 0.3); +insert into ratings values (983, 361407, '2002-12-21', 4, 0.7); +insert into ratings values (983, 216190, '2005-10-14', 2, 0.7); +insert into ratings values (983, 216190, '2005-10-14', 3, 0.3); +insert into ratings values (983, 450336, '2005-09-20', 2, 0.2); +insert into ratings values (983, 450336, '2005-09-20', 3, 0.5); +insert into ratings values (983, 450336, '2005-09-20', 4, 0.3); +insert into ratings values (983, 53521, '2005-08-28', 3, 0.5); +insert into ratings values (983, 53521, '2005-08-28', 4, 0.5); +insert into ratings values (983, 431732, '2003-08-16', 1, 1.0); +insert into ratings values (984, 41412, '2002-07-03', 3, 0.6); +insert into ratings values (984, 41412, '2002-07-03', 4, 0.4); +insert into ratings values (984, 139297, '2004-01-16', 4, 1.0); +insert into ratings values (984, 197179, '2005-01-19', 2, 0.5); +insert into ratings values (984, 197179, '2005-01-19', 3, 0.5); +insert into ratings values (984, 14690, '2002-12-17', 3, 0.2); +insert into ratings values (984, 14690, '2002-12-17', 4, 0.6); +insert into ratings values (984, 14690, '2002-12-17', 5, 0.2); +insert into ratings values (984, 136630, '2004-03-13', 2, 1.0); +insert into ratings values (985, 364518, '2002-05-02', 3, 0.5); +insert into ratings values (985, 364518, '2002-05-02', 4, 0.5); +insert into ratings values (985, 53679, '2005-07-08', 4, 0.4); +insert into ratings values (985, 53679, '2005-07-08', 5, 0.6); +insert into ratings values (985, 69867, '2000-03-08', 3, 1.0); +insert into ratings values (985, 306466, '2000-12-19', 3, 0.5); +insert into ratings values (985, 306466, '2000-12-19', 4, 0.4); +insert into ratings values (985, 306466, '2000-12-19', 5, 0.1); +insert into ratings values (985, 477388, '2000-05-02', 3, 1.0); +insert into ratings values (986, 273292, '2004-04-16', 4, 1.0); +insert into ratings values (986, 487832, '2005-03-16', 3, 0.4); +insert into ratings values (986, 487832, '2005-03-16', 4, 0.5); +insert into ratings values (986, 487832, '2005-03-16', 5, 0.1); +insert into ratings values (986, 63170, '2004-06-17', 3, 0.3); +insert into ratings values (986, 63170, '2004-06-17', 4, 0.6); +insert into ratings values (986, 63170, '2004-06-17', 5, 0.1); +insert into ratings values (986, 102219, '2003-12-21', 3, 1.0); +insert into ratings values (986, 458209, '2004-01-22', 2, 1.0); +insert into ratings values (987, 375052, '2005-07-15', 3, 1.0); +insert into ratings values (987, 296153, '2005-10-24', 2, 0.5); +insert into ratings values (987, 296153, '2005-10-24', 3, 0.4); +insert into ratings values (987, 296153, '2005-10-24', 4, 0.1); +insert into ratings values (987, 361630, '2005-12-29', 2, 0.7); +insert into ratings values (987, 361630, '2005-12-29', 3, 0.3); +insert into ratings values (987, 447836, '2005-06-06', 2, 0.3); +insert into ratings values (987, 447836, '2005-06-06', 3, 0.4); +insert into ratings values (987, 447836, '2005-06-06', 4, 0.3); +insert into ratings values (987, 385522, '2005-08-09', 2, 0.5); +insert into ratings values (987, 385522, '2005-08-09', 3, 0.5); +insert into ratings values (988, 41412, '2003-08-10', 4, 0.6); +insert into ratings values (988, 41412, '2003-08-10', 5, 0.4); +insert into ratings values (988, 89961, '2004-04-13', 3, 1.0); +insert into ratings values (988, 271262, '2005-02-07', 3, 0.3); +insert into ratings values (988, 271262, '2005-02-07', 4, 0.6); +insert into ratings values (988, 271262, '2005-02-07', 5, 0.1); +insert into ratings values (988, 153670, '2005-05-08', 3, 0.7); +insert into ratings values (988, 153670, '2005-05-08', 4, 0.3); +insert into ratings values (988, 20408, '2005-07-12', 4, 0.5); +insert into ratings values (988, 20408, '2005-07-12', 5, 0.5); +insert into ratings values (989, 205618, '2005-08-01', 3, 0.3); +insert into ratings values (989, 205618, '2005-08-01', 4, 0.7); +insert into ratings values (989, 134188, '2005-08-23', 3, 0.8); +insert into ratings values (989, 134188, '2005-08-23', 4, 0.2); +insert into ratings values (989, 141932, '2004-12-10', 3, 0.2); +insert into ratings values (989, 141932, '2004-12-10', 4, 0.4); +insert into ratings values (989, 141932, '2004-12-10', 5, 0.4); +insert into ratings values (989, 25382, '2004-12-22', 3, 0.5); +insert into ratings values (989, 25382, '2004-12-22', 4, 0.5); +insert into ratings values (989, 457142, '2004-12-25', 4, 1.0); +insert into ratings values (990, 306466, '2003-11-25', 3, 0.2); +insert into ratings values (990, 306466, '2003-11-25', 4, 0.6); +insert into ratings values (990, 306466, '2003-11-25', 5, 0.2); +insert into ratings values (990, 496735, '2003-01-04', 3, 0.4); +insert into ratings values (990, 496735, '2003-01-04', 4, 0.6); +insert into ratings values (990, 247794, '2001-01-20', 3, 0.3); +insert into ratings values (990, 247794, '2001-01-20', 4, 0.7); +insert into ratings values (990, 497196, '2004-02-27', 2, 0.2); +insert into ratings values (990, 497196, '2004-02-27', 3, 0.8); +insert into ratings values (990, 295983, '2005-12-05', 3, 0.4); +insert into ratings values (990, 295983, '2005-12-05', 4, 0.2); +insert into ratings values (990, 295983, '2005-12-05', 5, 0.4); +insert into ratings values (991, 411147, '2005-05-23', 4, 1.0); +insert into ratings values (991, 497196, '2005-05-11', 3, 0.6); +insert into ratings values (991, 497196, '2005-05-11', 4, 0.4); +insert into ratings values (991, 165383, '2005-03-08', 3, 0.3); +insert into ratings values (991, 165383, '2005-03-08', 4, 0.2); +insert into ratings values (991, 165383, '2005-03-08', 5, 0.5); +insert into ratings values (991, 85856, '2004-04-27', 3, 0.1); +insert into ratings values (991, 85856, '2004-04-27', 4, 0.5); +insert into ratings values (991, 85856, '2004-04-27', 5, 0.4); +insert into ratings values (991, 357883, '2003-10-15', 3, 0.2); +insert into ratings values (991, 357883, '2003-10-15', 4, 0.6); +insert into ratings values (991, 357883, '2003-10-15', 5, 0.2); +insert into ratings values (992, 306466, '2001-04-27', 3, 1.0); +insert into ratings values (992, 41412, '2001-05-24', 2, 0.3); +insert into ratings values (992, 41412, '2001-05-24', 3, 0.4); +insert into ratings values (992, 41412, '2001-05-24', 4, 0.3); +insert into ratings values (992, 139297, '2004-01-15', 3, 1.0); +insert into ratings values (992, 464095, '2004-06-25', 4, 0.6); +insert into ratings values (992, 464095, '2004-06-25', 5, 0.4); +insert into ratings values (992, 146851, '2005-03-24', 4, 0.6); +insert into ratings values (992, 146851, '2005-03-24', 5, 0.4); +insert into ratings values (993, 276813, '2001-02-04', 2, 0.2); +insert into ratings values (993, 276813, '2001-02-04', 3, 0.4); +insert into ratings values (993, 276813, '2001-02-04', 4, 0.4); +insert into ratings values (993, 41412, '2001-05-24', 3, 0.3); +insert into ratings values (993, 41412, '2001-05-24', 4, 0.7); +insert into ratings values (993, 466862, '2005-06-03', 2, 0.7); +insert into ratings values (993, 466862, '2005-06-03', 3, 0.3); +insert into ratings values (993, 63170, '2003-08-06', 4, 1.0); +insert into ratings values (993, 293901, '2003-10-30', 4, 0.4); +insert into ratings values (993, 293901, '2003-10-30', 5, 0.6); +insert into ratings values (994, 306466, '2003-01-17', 1, 1.0); +insert into ratings values (994, 496476, '2005-07-17', 3, 0.1); +insert into ratings values (994, 496476, '2005-07-17', 4, 0.6); +insert into ratings values (994, 496476, '2005-07-17', 5, 0.3); +insert into ratings values (994, 393953, '2004-09-03', 2, 0.3); +insert into ratings values (994, 393953, '2004-09-03', 3, 0.6); +insert into ratings values (994, 393953, '2004-09-03', 4, 0.1); +insert into ratings values (994, 30878, '2004-01-25', 2, 0.3); +insert into ratings values (994, 30878, '2004-01-25', 3, 0.6); +insert into ratings values (994, 30878, '2004-01-25', 4, 0.1); +insert into ratings values (994, 395744, '2005-08-13', 2, 1.0); +insert into ratings values (995, 249052, '2005-06-12', 5, 1.0); +insert into ratings values (995, 355653, '2005-08-21', 1, 0.5); +insert into ratings values (995, 355653, '2005-08-21', 2, 0.5); +insert into ratings values (995, 474578, '2005-08-17', 3, 1.0); +insert into ratings values (995, 460591, '2005-06-25', 1, 1.0); +insert into ratings values (995, 157667, '2005-11-11', 2, 0.5); +insert into ratings values (995, 157667, '2005-11-11', 3, 0.4); +insert into ratings values (995, 157667, '2005-11-11', 4, 0.1); +insert into ratings values (996, 477388, '2000-12-27', 5, 1.0); +insert into ratings values (996, 66568, '2004-05-04', 4, 1.0); +insert into ratings values (996, 41412, '2002-10-16', 4, 0.5); +insert into ratings values (996, 41412, '2002-10-16', 5, 0.5); +insert into ratings values (996, 462930, '2004-01-26', 3, 0.3); +insert into ratings values (996, 462930, '2004-01-26', 4, 0.4); +insert into ratings values (996, 462930, '2004-01-26', 5, 0.3); +insert into ratings values (996, 390508, '2003-08-05', 3, 1.0); +insert into ratings values (997, 245581, '2005-03-16', 1, 1.0); +insert into ratings values (997, 362214, '2005-05-24', 5, 1.0); +insert into ratings values (997, 363764, '2005-06-06', 4, 0.5); +insert into ratings values (997, 363764, '2005-06-06', 5, 0.5); +insert into ratings values (997, 318291, '2004-06-01', 2, 0.1); +insert into ratings values (997, 318291, '2004-06-01', 3, 0.6); +insert into ratings values (997, 318291, '2004-06-01', 4, 0.3); +insert into ratings values (997, 303948, '2005-07-25', 4, 1.0); +insert into ratings values (998, 306466, '2003-06-17', 1, 0.6); +insert into ratings values (998, 306466, '2003-06-17', 2, 0.2); +insert into ratings values (998, 306466, '2003-06-17', 3, 0.2); +insert into ratings values (998, 419427, '2003-11-07', 4, 0.4); +insert into ratings values (998, 419427, '2003-11-07', 5, 0.6); +insert into ratings values (998, 364764, '2003-07-23', 2, 0.1); +insert into ratings values (998, 364764, '2003-07-23', 3, 0.6); +insert into ratings values (998, 364764, '2003-07-23', 4, 0.3); +insert into ratings values (998, 1333, '2004-02-16', 1, 1.0); +insert into ratings values (998, 104851, '2003-09-29', 4, 1.0); +insert into ratings values (999, 426397, '2005-05-30', 3, 0.2); +insert into ratings values (999, 426397, '2005-05-30', 4, 0.4); +insert into ratings values (999, 426397, '2005-05-30', 5, 0.4); +insert into ratings values (999, 466862, '2005-06-03', 3, 1.0); +insert into ratings values (999, 396262, '2005-08-23', 5, 1.0); +insert into ratings values (999, 101035, '2002-12-06', 1, 0.1); +insert into ratings values (999, 101035, '2002-12-06', 2, 0.6); +insert into ratings values (999, 101035, '2002-12-06', 3, 0.3); +insert into ratings values (999, 88799, '2005-08-19', 2, 0.1); +insert into ratings values (999, 88799, '2005-08-19', 3, 0.6); +insert into ratings values (999, 88799, '2005-08-19', 4, 0.3); +insert into ratings values (1000, 231489, '2004-03-18', 3, 0.2); +insert into ratings values (1000, 231489, '2004-03-18', 4, 0.2); +insert into ratings values (1000, 231489, '2004-03-18', 5, 0.6); +insert into ratings values (1000, 483483, '2004-12-13', 1, 0.4); +insert into ratings values (1000, 483483, '2004-12-13', 2, 0.4); +insert into ratings values (1000, 483483, '2004-12-13', 3, 0.2); +insert into ratings values (1000, 322178, '2005-03-17', 1, 1.0); +insert into ratings values (1000, 224993, '2005-03-26', 1, 0.2); +insert into ratings values (1000, 224993, '2005-03-26', 2, 0.8); +insert into ratings values (1000, 303948, '2005-11-28', 3, 0.5); +insert into ratings values (1000, 303948, '2005-11-28', 4, 0.5); diff --git a/movie_query.triql b/movie_query.triql new file mode 100644 index 0000000..46ab602 --- /dev/null +++ b/movie_query.triql @@ -0,0 +1,57 @@ +-- Create new uncertain Trio tables (without lineage) +-- from the initial relational tables +-- The new tables will be treated as base tables in Trio, +-- with tuple alternatives and confidences attached to them + +create table T_Movies as +select nolineage groupalts(movie_id) *, uniform as conf from Movies; + +create table T_Ratings as +select nolineage groupalts(movie_id, cust_id, date) + movie_id, cust_id, date, rating, confidence as conf from Ratings; + +-- Select very uncertain movies: wide range of possible years +-- Assign confidence values uniformly to alternatives + +create table U_Movies as + select *, uniform as conf + from T_Movies + where [max(year) - min(year)] > 30; + +-- Join in recent high-confidence ratings for these movies + +create table M_Ratings as + select merged title, year, date, rating + from T_Ratings R, U_Movies M + where R.movie_id = M.movie_id + and R.date like '2005%' + and conf(R) >= 0.4; + +-- Get directors back using lineage + +create table Dir_Ratings as + select R.title, R.year, R.rating, M.director + from M_Ratings R, U_Movies M + where R ==> M; + +-- Find directors of what are probably series: more than +-- one alternative with same director, different year + +create table Series as + select merged movie_id, director, uniform as conf + from T_Movies M1 + where exists + [select * from T_Movies M2 + where M2.director = M1.director + and M2.year <> M1.year]; + +-- Find controversial series: high variance in ratings + +select merged S.movie_id, S.director, + R1.rating as rating1, + R2.rating as rating2 + from Series S, T_Ratings R1, T_Ratings R2 + where S.movie_id = R1.movie_id + and S.movie_id = R2.movie_id + and R1.rating - R2.rating >=3; + diff --git a/pdbench/Datasets b/pdbench/Datasets new file mode 100644 index 0000000..6f78c38 --- /dev/null +++ b/pdbench/Datasets @@ -0,0 +1,71 @@ +Note: This page is under construction! Explanations and further entries will be added soon! + +==Data Generator: Uncertain TPC-H for MayBMS (and Trio)== +|| Availability: || [[http://pdbench.sourceforge.net/MayBMS-tpch.tgz|here]] (580kb .tgz file) || +|| Contributors: || MayBMS team || +|| Tags: || Discrete distributions; complex conditions aka "external lineage" || +|| Comments: || This is a modification of the standard TPC-H data generator. Includes a data generator (C code, an extension of the standard TPC-H data generator), queries, a translator from attribute-level to tuple-level U-relations (PLSQL script), and a translator from tuple-level U-relations to Trio ULDBs (PLSQL script). || +|| References: || Lyublena Antova, Thomas Jansen, Christoph Koch, Dan Olteanu. "Fast and Simple Relational Processing of Uncertain Data". //Proc. ICDE 2008//. || + +==Data Generator: Uncertain TPC-H for Trio== +|| Availability: || [[http://pdbench.sourceforge.net/TPCH-Trio.zip|here]] (3kB .zip file) || +|| Contributors: || Trio team || +|| Tags: || || +|| Comments: || Two Python data generators for generating vertical and horizontal partitionings of the various TPCH tables into Trio tables with x-tuples ("run_horizontal_partitioner.sh" shows how to run the horizontal partitioner, for example). The archive also contains some DDL commands for some example schema definitions in Trio. (1) The horizontal partitioner simply groups the relational tuples from a given TPCH table into Trio alternatives with a uniform distribution of confidences. That is, all alternatives of the same group become mutually exclusive (which basically ignores the original TPCH keys for the resulting possible worlds). The number of alternatives per x-tuple, the number of partitions, etc., can be adjusted via various parameters. (2) The vertical partitioner can furthermore split a TPCH table into its individual attributes. Here, the original TPCH keys may be maintained and can be used to reconstruct the original PW's of the TPCH database. For the TPCH settings the Trio team can also provide readily extracted data dumps (> 1 GB) and the queries that were used for two previous papers. The queries are in also TriQL syntax and probably quite specific to our settings, i.e., they would already be actual benchmarks for measuring confidence computations and update performances in Trio. || +|| References: || || + +==Dataset: IMDB Movies== +|| Availability: || [[http://pdbench.sourceforge.net/movie_data.zip|IMDB Movies and Netflix ratings dataset]] (100kB zipped SQL file); [[http://pdbench.sourceforge.net/movie_query.triql|TriQL queries]] || +|| Contributors: || Trio team || +|| Tags: || || +|| Comments: || This is the IMDB data and query set which is also used for the Trio online demo. It models an "uncertain" data integration scenario between IMDB movies and Netflix ratings, along with a few queries that have been used for the demo (both the data and query files are in TriQL syntax). IMDB movies have been grouped together into x-tuples by similar titles, and each original Netflix rating has been artificially extended by additional rating alternatives according to some normal confidence distribution around the original (i.e., actual Netflix) rating. || +|| References: || || + +==Dataset: RFID Sensor Data== +|| Availability: || soon || +|| Contributors: || Mystiq team || +|| Tags: || || +|| Comments: || || +|| References: || || + +==Dataset: Data integration== +|| Availability: || soon || +|| Contributors: || Twente team || +|| Tags: || || +|| Comments: || Tasks: Turn the Twente probabilistic information integrator into a data generator; produce a dataset in the movie rating domain. **Source 1**: XML-file constructed by extracting data from [[http://www.tvguide.com/|http://www.tvguide.com]] (unfortunately, TVguide.com discontinued its movies recommendation service; changing to top 100 most popular): http://library.cs.utwente.nl/xquery/docs/tvguidemostpopular.xml (100 movies; 700kB) **Source 2**: XML-file constructed from moviedb-3.24 (see for example uiarchive.cso.uiuc.edu in /pub/info/imdb/tools) http://library.cs.utwente.nl/xquery/docs/ImdbRestricted.xml (243856 movies; 241MB; all movies with at least one genre which is not "Documentary" or "Adult). **[ToDo]** Data generator based on probabilistic XML information integrator for these two sources. || +|| References: || de Keijzer, A. and van Keulen, M. (2008) [[http://eprints.eemcs.utwente.nl/11232/|//IMPrECISE: Good-is-good-enough data integration.//]] ICDE 2008 (demo). van Keulen, M. and de Keijzer, A. and Alink, W. (2005) [[http://eprints.eemcs.utwente.nl/7273/|//A probabilistic XML approach to data integration.//]] ICDE 2005. || + +==Dataset, Generator: IPUMS US census data== +|| Availability: || Anonymized subset of the US census: http://usa.ipums.org/usa/; uncertainty generator: soon; small example involving vertical decompositioning and data cleaning: [[http://maybms.cvs.sourceforge.net/viewvc/maybms/maybms/examples/census.sql?view=markup|here]] || +|| Contributors: || MayBMS team || +|| Tags: || Discrete distributions; or-sets; data cleaning; conditional probability tables || +|| Comments: || Tasks: Contribute MayBMS data generator which reintroduces uncertainty into the census data, and queries. || +|| References: || || + +==Nascent Use Case: Skills Management== +|| Availability: || [[http://maybms.cvs.sourceforge.net/viewvc/maybms/maybms/examples/companies.sql?view=markup|here]] || +|| Contributors: || MayBMS team || +|| Tags: || Discrete distributions; conditional probability tables || +|| Comments: || || +|| References: || || + +==Nascent Use Case: Random Graphs and Social Networks== +|| Availability: || [[http://maybms.cvs.sourceforge.net/viewvc/maybms/maybms/examples/randgraph.sql?view=markup|here]] || +|| Contributors: || MayBMS team || +|| Tags: || Discrete distributions || +|| Comments: || Confidence computation is challenging because the DNFs/the lineage get very large and does not decompose using any of the known techniques. || +|| References: || || + +==Nascent Use Case: Analyzing Web Graphs== +|| Availability: || WWW data set: [[http://www.nd.edu/~networks/resources/www/www.dat.gz|here]], SQL scripts: [[http://pdbench.sourceforge.net/webgraph.zip|here]] (3kB .zip file) || +|| Contributors: || MayBMS team || +|| Tags: || Discrete distributions || +|| Comments: || A variation of the random graph example using web graph data. The edges are assigned probability relative to the degree of the end nodes, thus the graph has few edges with high probability, and the majority of edges have low probability. The dataset contains example queries finding the probability for occurrence of a pattern in the random graph, such as for example a triangle etc. || +|| References: || Dataset due to Réka Albert, Hawoong Jeong and Albert-László Barabási: Diameter of the World Wide Web Nature 401, 130 (1999) See [[http://www.nd.edu/~networks/resources.htm]] for more details on the data. || + +==Use Case: Data cleaning== +|| Availability: || Generator for uncertain data: [[http://pdbench.sourceforge.net/census.zip|here]] (424kB .zip file) || +|| Contributors: || MayBMS team || +|| Tags: || || +|| Comments: || This is a noise generator for the census data set. Contains two tools: for inserting noise in the form of or-sets in the census data set (DataNoise), and for data cleaning using dependencies on the data set (Chase). More information available in the README file supplied with the archive. || +|| References: || Original dataset available for download at [[http://www.ipums.org]]. See "10^10^6 Worlds and Beyond: Efficient Representation and Processing of Incomplete Information", Lyublena Antova, Christoph Koch, Dan Olteanu, Proc. ICDE 2007 for more details on the representation and query rewriting. || \ No newline at end of file diff --git a/pdbench/files/webgraph.zip b/pdbench/files/webgraph.zip new file mode 100644 index 0000000..c60affc Binary files /dev/null and b/pdbench/files/webgraph.zip differ diff --git a/pdbench/home b/pdbench/home new file mode 100644 index 0000000..d18cae2 --- /dev/null +++ b/pdbench/home @@ -0,0 +1,31 @@ +=The Probabilistic Database Use Cases and Benchmarking Project= + +Probabilistic databases are a new type of database systems that have created a substantial amount of excitement among data management researchers recently. Probabilistic databases will allow for important new database applications both in science and industry. The goal of this project is to create and assemble resources for advancing the state of the art in the nascent technology of probabilistic databases. Our long term goal is to establish a credible and representative set of **use cases** and develop a **benchmark** for probabilistic databases. + +To date, it is still too early for a serious benchmark. Probabilistic databases are still in their infancy, and we cannot see a convergence of approaches yet. Such a convergence should at this point also not be considered a priority, because an attempt to create standardized functionality and database languages may discourage creativity. +However, to establish the credibility of probabilistic database research and to make further progress in creating scalable probabilistic database technology, it is important to establish realistic use cases. The existence of many exciting applications is postulated in various research papers, but few realistic use cases have been proposed and described in sufficient detail to make them verifiable. Such use cases will be needed to convince the data management research community in the wider sense as well, the IT industry, and users. The success of probabilistic databases will ultimately depend on clearly stated and verified use cases. Moreover, it is important to collect real or at least realistic datasets and query workloads to test prototype systems against, and to make the research advances required to turn probabilistic databases into a useful technology. + + +==Resources== + +* [[Datasets|Usecases, Datasets, data generators, and queries]] for experimenting with probabilistic databases + + +==Members of the Working Group== + +* [[http://www.cs.cornell.edu/%7Elantova/|Lyublena Antova]], Cornell University ([[http://www.cs.cornell.edu/bigreddata/maybms/|MayBMS Project]]) +* [[http://i.stanford.edu/%7Eanishds/|Anish Das Sarma]], Stanford University ([[http://infolab.stanford.edu/trio/|Trio Project]]) +* [[http://www.cs.umd.edu/%7Eamol/|Amol Deshpande]], University of Maryland (PrDB Project, [[http://www.cs.umd.edu/%7Eamol/MauveDB/|MauveDB Project]]) +* [[http://www.almaden.ibm.com/cs/people/peterh/|Peter Haas]], IBM Almaden Research Center (MCDB Project) +* [[http://www.comlab.ox.ac.uk/people/dan.olteanu/|Dan Olteanu]], Oxford University ([[http://www.cs.cornell.edu/bigreddata/maybms/|MayBMS Project]], [[http://web.comlab.ox.ac.uk/projects/SPROUT/|SPROUT Project]]) +* [[http://www.cs.washington.edu/homes/chrisre/|Christopher Ré]], University of Washington ([[http://mystiq.cs.washington.edu/|Mystiq Project]]) +* [[http://infolab.stanford.edu/%7Etheobald/|Martin Theobald]], Max Planck Institut fuer Informatik ([[http://infolab.stanford.edu/trio/|Trio Project]]) +* [[http://wwwhome.cs.utwente.nl/%7Ekeulen/|Maurice van Keulen]], University of Twente + +* [[http://www.cs.cornell.edu/%7Ekoch/|Christoph Koch]], Cornell University ([[http://www.cs.cornell.edu/bigreddata/maybms/|MayBMS Project]]), moderator, contact + + +==Affiliates== + +* [[http://www.cs.umd.edu/%7Egetoor/|Lise Getoor]], University of Maryland +* [[http://www.cs.washington.edu/homes/suciu/|Dan Suciu]], University of Washington ([[http://mystiq.cs.washington.edu/|Mystiq Project]]) \ No newline at end of file diff --git a/triangle-query.sql b/triangle-query.sql new file mode 100644 index 0000000..688bcd1 --- /dev/null +++ b/triangle-query.sql @@ -0,0 +1,12 @@ +/** + ** Computes the u-relation representing the possible triangles in a random graph. + ** Assumes init-nodes and init-randgraph.sql have been executed. +*/ +drop table UD; + +create table UD as +select 1 +from edge0 e1, edge0 e2, edge0 e3 +where e1.v = e2.u and e2.v = e3.v and e1.u = e3.u +and e1.u != e2.u and e2.u != e3.v; +