Changeset: 1cd2e21d1783 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1cd2e21d1783
Modified Files:
        sql/backends/monet5/bam/Makefile.ag
        sql/backends/monet5/bam/Tests/benchmarks_0/benchmark2.sql
        sql/backends/monet5/bam/Tests/benchmarks_0/query2.10a.sql
        sql/backends/monet5/bam/Tests/benchmarks_0/query2.1a.sql
        sql/backends/monet5/bam/Tests/benchmarks_1/benchmark2.sql
        sql/backends/monet5/bam/Tests/benchmarks_1/query2.1.sql
        sql/backends/monet5/bam/Tests/benchmarks_1/query2.10.sql
        sql/backends/monet5/bam/Tests/benchmarks_1/query2.12.sql
        sql/backends/monet5/bam/Tests/benchmarks_1/query2.2.sql
        sql/backends/monet5/bam/Tests/benchmarks_1/query2.3.sql
        sql/backends/monet5/bam/Tests/benchmarks_1/query2.8.sql
        sql/backends/monet5/bam/Tests/common/common.h
        sql/backends/monet5/bam/Tests/common/stats.c
        sql/backends/monet5/bam/Tests/db_exec/db_exec
        sql/backends/monet5/bam/Tests/db_exec/db_exec.c
        sql/backends/monet5/bam/Tests/db_exec/makefile
        sql/backends/monet5/bam/Tests/usecase_exec/usecase_exec
        sql/backends/monet5/bam/bam_loader.c
        sql/backends/monet5/bam/bam_sql.c
        sql/backends/monet5/bam/bam_sql.h
Branch: DVframework_bam
Log Message:

Fixed some errors in the benchmark queries and some other small things.


diffs (truncated from 4923 to 300 lines):

diff --git a/sql/backends/monet5/bam/Makefile.ag 
b/sql/backends/monet5/bam/Makefile.ag
--- a/sql/backends/monet5/bam/Makefile.ag
+++ b/sql/backends/monet5/bam/Makefile.ag
@@ -34,7 +34,7 @@ INCLUDES = .. \
 lib__bam = {
        MODULE
        DIR = libdir/monetdb5
-       SOURCES = bam_loader.c bam_loader.h bam_lib.h bam_lib.c
+       SOURCES = bam_loader.c bam_loader.h bam_lib.h bam_lib.c bam_sql.h 
bam_sql.c
        LIBS = ../../../../monetdb5/tools/libmonetdb5 \
                   ../../../../gdk/libbat \
        $(SAMTOOLS_LIBS)
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_0/benchmark2.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_0/benchmark2.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_0/benchmark2.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_0/benchmark2.sql
@@ -5,7 +5,7 @@
 WITH qnames AS (
     SELECT qname
     FROM bam.alignments_i
-      AND seq  <> '*'
+    WHERE seq  <> '*'
       AND qual <> '*'
       AND bam_flag(flag, 'firs_segm') <> bam_flag(flag, 'last_segm')
       AND bam_flag(flag, 'seco_alig') = False
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_0/query2.10a.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_0/query2.10a.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_0/query2.10a.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_0/query2.10a.sql
@@ -19,7 +19,7 @@ FROM (
       AND rname = rname_2_10
       AND bam_flag(flag, 'seco_alig') = False
       AND bam_flag(flag, 'firs_segm') = True
-      AND qnames IN (
+      AND qname IN (
         SELECT *
         FROM qnames
       )
@@ -30,7 +30,7 @@ FROM (
       AND rname = rname_2_10
       AND bam_flag(flag, 'seco_alig') = False
       AND bam_flag(flag, 'last_segm') = True
-      AND qnames IN (
+      AND qname IN (
         SELECT *
         FROM qnames
       )
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_0/query2.1a.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_0/query2.1a.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_0/query2.1a.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_0/query2.1a.sql
@@ -1,7 +1,7 @@
 WITH qnames AS (
     SELECT qname
     FROM bam.alignments_i
-      AND seq  <> '*'
+    WHERE seq  <> '*'
       AND qual <> '*'
       AND bam_flag(flag, 'firs_segm') <> bam_flag(flag, 'last_segm')
       AND bam_flag(flag, 'seco_alig') = False
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_1/benchmark2.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_1/benchmark2.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_1/benchmark2.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_1/benchmark2.sql
@@ -9,9 +9,12 @@ SELECT qname,
     CASE WHEN bam_flag(r_flag, 'segm_reve') THEN reverse_seq(r_seq)   ELSE 
r_seq  END AS r_seq,
     CASE WHEN bam_flag(r_flag, 'segm_reve') THEN reverse_qual(r_qual) ELSE 
r_qual END AS r_qual
 FROM bam.paired_primary_alignments_i
-WHERE seq  <> '*'
-  AND qual <> '*'
-  AND mapq < mapq_2_1
+WHERE l_seq  <> '*'
+  AND l_qual <> '*'
+  AND l_mapq < mapq_2_1
+  AND r_seq  <> '*'
+  AND r_qual <> '*'
+  AND r_mapq < mapq_2_1
 ORDER BY qname;
 
 
@@ -34,7 +37,7 @@ SELECT
          ELSE l_pos - (r_pos + seq_length(r_cigar))
     END AS distance, 
     COUNT(*) AS nr_alignments
-FROM paired_primary_alignments_i
+FROM bam.paired_primary_alignments_i
 WHERE l_rname = r_rname
 GROUP BY distance
 ORDER BY nr_alignments DESC;
@@ -57,7 +60,7 @@ SELECT qname, flag, rname, pos, mapq, ci
 FROM bam.unpaired_all_alignments_i
 WHERE qname IN (
     SELECT qname
-    FROM bam.unpaired_all_alignments
+    FROM bam.unpaired_all_alignments_i
     GROUP BY qname
     HAVING SUM(bam_flag(flag, 'firs_segm')) = 0
         OR SUM(bam_flag(flag, 'last_segm')) = 0
@@ -230,7 +233,7 @@ FROM (
     SELECT *
    FROM bam.unpaired_primary_alignments_j
 ) AS f2 
-    ON  l.qname = r.qname
+    ON  f1.qname = f2.qname
     AND bam_flag(f1.flag, 'firs_segm') = bam_flag(f2.flag, 'firs_segm')
     AND (f1.rname <> f2.rname OR f1.pos <> f2.pos)
 ORDER BY qname;
@@ -275,8 +278,8 @@ FROM bam.paired_primary_alignments_i
 WHERE l_rname = rname_2_10
   AND r_rname = rname_2_10
   AND CASE WHEN l_pos < r_pos
-           THEN (pos_2_10 >= l.pos + seq_length(l.cigar) AND pos_2_10 < r.pos)
-           ELSE (pos_2_10 >= r.pos + seq_length(r.cigar) AND pos_2_10 < l.pos)
+           THEN (pos_2_10 >= l_pos + seq_length(l_cigar) AND pos_2_10 < r_pos)
+           ELSE (pos_2_10 >= r_pos + seq_length(r_cigar) AND pos_2_10 < l_pos)
       END
 ORDER BY l_pos
 
@@ -317,7 +320,7 @@ ORDER BY qname;
 
 WITH alig AS (
     SELECT *
-    FROM unpaired_alignments_i
+    FROM bam.unpaired_alignments_i
     WHERE bam_flag(flag, 'firs_segm') <> bam_flag(flag, 'last_segm')
       AND bam_flag(flag, 'seco_alig') = True
       AND rnext = '*'
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.1.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.1.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.1.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.1.sql
@@ -4,7 +4,10 @@ SELECT qname,
     CASE WHEN bam_flag(r_flag, 'segm_reve') THEN reverse_seq(r_seq)   ELSE 
r_seq  END AS r_seq,
     CASE WHEN bam_flag(r_flag, 'segm_reve') THEN reverse_qual(r_qual) ELSE 
r_qual END AS r_qual
 FROM bam.paired_primary_alignments_i
-WHERE seq  <> '*'
-  AND qual <> '*'
-  AND mapq < mapq_2_1
+WHERE l_seq  <> '*'
+  AND l_qual <> '*'
+  AND l_mapq < mapq_2_1
+  AND r_seq  <> '*'
+  AND r_qual <> '*'
+  AND r_mapq < mapq_2_1
 ORDER BY qname;
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.10.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.10.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.10.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.10.sql
@@ -4,7 +4,7 @@ FROM bam.paired_primary_alignments_i
 WHERE l_rname = rname_2_10
   AND r_rname = rname_2_10
   AND CASE WHEN l_pos < r_pos
-           THEN (pos_2_10 >= l.pos + seq_length(l.cigar) AND pos_2_10 < r.pos)
-           ELSE (pos_2_10 >= r.pos + seq_length(r.cigar) AND pos_2_10 < l.pos)
+           THEN (pos_2_10 >= l_pos + seq_length(l_cigar) AND pos_2_10 < r_pos)
+           ELSE (pos_2_10 >= r_pos + seq_length(r_cigar) AND pos_2_10 < l_pos)
       END
 ORDER BY l_pos
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.12.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.12.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.12.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.12.sql
@@ -1,6 +1,6 @@
 WITH alig AS (
     SELECT *
-    FROM unpaired_alignments_i
+    FROM bam.unpaired_alignments_i
     WHERE bam_flag(flag, 'firs_segm') <> bam_flag(flag, 'last_segm')
       AND bam_flag(flag, 'seco_alig') = True
       AND rnext = '*'
@@ -30,4 +30,4 @@ FROM (
 ) AS alig
 WHERE distance > 0
   AND distance < distance_2_12
-ORDER BY rname;
+ORDER BY rname;
\ No newline at end of file
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.2.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.2.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.2.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.2.sql
@@ -4,7 +4,7 @@ SELECT
          ELSE l_pos - (r_pos + seq_length(r_cigar))
     END AS distance, 
     COUNT(*) AS nr_alignments
-FROM paired_primary_alignments_i
+FROM bam.paired_primary_alignments_i
 WHERE l_rname = r_rname
 GROUP BY distance
 ORDER BY nr_alignments DESC;
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.3.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.3.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.3.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.3.sql
@@ -2,7 +2,7 @@ SELECT qname, flag, rname, pos, mapq, ci
 FROM bam.unpaired_all_alignments_i
 WHERE qname IN (
     SELECT qname
-    FROM bam.unpaired_all_alignments
+    FROM bam.unpaired_all_alignments_i
     GROUP BY qname
     HAVING SUM(bam_flag(flag, 'firs_segm')) = 0
         OR SUM(bam_flag(flag, 'last_segm')) = 0
diff --git a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.8.sql 
b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.8.sql
--- a/sql/backends/monet5/bam/Tests/benchmarks_1/query2.8.sql
+++ b/sql/backends/monet5/bam/Tests/benchmarks_1/query2.8.sql
@@ -9,7 +9,7 @@ FROM (
     SELECT *
    FROM bam.unpaired_primary_alignments_j
 ) AS f2 
-    ON  l.qname = r.qname
+    ON  f1.qname = f2.qname
     AND bam_flag(f1.flag, 'firs_segm') = bam_flag(f2.flag, 'firs_segm')
     AND (f1.rname <> f2.rname OR f1.pos <> f2.pos)
 ORDER BY qname;
diff --git a/sql/backends/monet5/bam/Tests/common/common.h 
b/sql/backends/monet5/bam/Tests/common/common.h
--- a/sql/backends/monet5/bam/Tests/common/common.h
+++ b/sql/backends/monet5/bam/Tests/common/common.h
@@ -8,7 +8,8 @@
 #define UNSORTED   0
 #define QUERYNAME  1
 #define COORDINATE 2
-#define DB         0 /* Always either UNSORTED, QUERYNAME and COORDINATE or DB 
will be used by either usecase_exec or db_exec respectively */
+#define DB_A       0 /* Always either (UNSORTED, QUERYNAME and COORDINATE) or 
(DB_A or DB_B) will be used by either usecase_exec or db_exec respectively */
+#define DB_B       1
 
 #define BAM_REPOS "/export/scratch2/robin/bam"
 #define DIR_OUTPUT "/export/scratch2/robin/output"
diff --git a/sql/backends/monet5/bam/Tests/common/stats.c 
b/sql/backends/monet5/bam/Tests/common/stats.c
--- a/sql/backends/monet5/bam/Tests/common/stats.c
+++ b/sql/backends/monet5/bam/Tests/common/stats.c
@@ -17,21 +17,24 @@ void init_usecase_timestats(usecase_time
 void initialize_timestats(timestats *stats, bit benchmark1, bit benchmark2, 
bit usecase_exec)
 {
     int i, j;
-    int nr_methods;
+    int nr_methods_init, nr_methods_bm1, nr_methods_bm2;
     
     stats->benchmark1 = benchmark1;
     stats->benchmark2 = benchmark2;
     stats->usecase_exec = usecase_exec;
-    nr_methods = usecase_exec ? 3 : 1;
     
-    for(i=0; i<nr_methods; ++i)
+    nr_methods_init = usecase_exec ? 3 : 1; /* In this case, only DB_A will be 
used */
+    nr_methods_bm1  = usecase_exec ? 3 : 1; /* In this case, only DB_A will be 
used */
+    nr_methods_bm2  = usecase_exec ? 3 : 2;
+    
+    for(i=0; i<nr_methods_init; ++i)
     {
         stats->init_stats[i].init_times_sec = (double *)calloc(NR_BAMFILES, 
sizeof(double));
     }
     
     if(benchmark1)
     {
-        for(i=0; i<nr_methods; ++i)
+        for(i=0; i<nr_methods_bm1; ++i)
         {
             stats->usecase_stats_bm1[i] = (usecase_timestats *)malloc(5 * 
sizeof(usecase_timestats));
             for(j=0; j<5; ++j)
@@ -42,7 +45,7 @@ void initialize_timestats(timestats *sta
     }
     if(benchmark2)
     {
-        for(i=0; i<nr_methods; ++i)
+        for(i=0; i<nr_methods_bm2; ++i)
         {
             stats->usecase_stats_bm2[i] = (usecase_timestats *)malloc(12 * 
sizeof(usecase_timestats));
             for(j=0; j<4; ++j)
@@ -63,17 +66,19 @@ void initialize_timestats(timestats *sta
 
 void clear_timestats(timestats *stats)
 {
+    int nr_methods_init = stats->usecase_exec ? 3 : 1; /* In this case, only 
DB_A will be used */
+    int nr_methods_bm1  = stats->usecase_exec ? 3 : 1; /* In this case, only 
DB_A will be used */
+    int nr_methods_bm2  = stats->usecase_exec ? 3 : 2;
     int i, j;
-    int nr_methods = stats->usecase_exec ? 3 : 1;
 
-    for(i=0; i<nr_methods; ++i)
+    for(i=0; i<nr_methods_init; ++i)
     {
         free(stats->init_stats[i].init_times_sec);
     }
     
     if(stats->benchmark1)
     {
-        for(i=0; i<nr_methods; ++i)
+        for(i=0; i<nr_methods_bm1; ++i)
         {
             for(j=0; j<5; ++j)
             {
@@ -91,7 +96,7 @@ void clear_timestats(timestats *stats)
     }
     if(stats->benchmark2)
     {
-        for(i=0; i<nr_methods; ++i)
+        for(i=0; i<nr_methods_bm2; ++i)
         {
             for(j=0; j<12; ++j)
             {
@@ -142,7 +147,8 @@ void write_init_timestats(FILE *output, 
     }
     else
     {
-        write_times_sec(output, "bam_loader_file", stats[DB].init_times_sec, 
NR_BAMFILES);
+        write_times_sec(output, "bam_loader_file", stats[DB_A].init_times_sec, 
NR_BAMFILES);
+        write_times_sec(output, "bam_loader_file", stats[DB_B].init_times_sec, 
NR_BAMFILES);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to