Changeset: 89713a2ba999 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=89713a2ba999 Added Files: debian/libmonetdb5-server-bam.install sql/backends/monet5/bam/85_bam.mal sql/backends/monet5/bam/85_bam.sql sql/backends/monet5/bam/BAMRecipe.pdf sql/backends/monet5/bam/Makefile.ag sql/backends/monet5/bam/Tests/All sql/backends/monet5/bam/Tests/bam.py sql/backends/monet5/bam/Tests/bam_export.SQL.py sql/backends/monet5/bam/Tests/bam_loader_file.SQL.py sql/backends/monet5/bam/Tests/bam_loader_file.stable.err sql/backends/monet5/bam/Tests/bam_loader_file.stable.out sql/backends/monet5/bam/Tests/bam_loader_files.SQL.py sql/backends/monet5/bam/Tests/bam_loader_files.stable.err sql/backends/monet5/bam/Tests/bam_loader_files.stable.out sql/backends/monet5/bam/Tests/bam_loader_repos.SQL.py sql/backends/monet5/bam/Tests/bam_loader_repos.stable.err sql/backends/monet5/bam/Tests/bam_loader_repos.stable.out sql/backends/monet5/bam/Tests/check_files.sql sql/backends/monet5/bam/Tests/check_files.stable.err sql/backends/monet5/bam/Tests/check_files.stable.out sql/backends/monet5/bam/Tests/check_files_exact.sql sql/backends/monet5/bam/Tests/check_files_exact.stable.err sql/backends/monet5/bam/Tests/check_files_exact.stable.out sql/backends/monet5/bam/Tests/drop_last_files.SQL.py sql/backends/monet5/bam/Tests/drop_last_files.stable.err sql/backends/monet5/bam/Tests/drop_last_files.stable.out sql/backends/monet5/bam/Tests/files/file1.bam sql/backends/monet5/bam/Tests/files/file2.sam sql/backends/monet5/bam/Tests/files/queryname/file1.bam sql/backends/monet5/bam/Tests/files/queryname/file2.sam sql/backends/monet5/bam/Tests/query1.1.sql sql/backends/monet5/bam/Tests/query1.1.stable.err sql/backends/monet5/bam/Tests/query1.1.stable.out sql/backends/monet5/bam/Tests/query1.2.sql sql/backends/monet5/bam/Tests/query1.2.stable.err sql/backends/monet5/bam/Tests/query1.2.stable.out sql/backends/monet5/bam/Tests/query1.3.sql sql/backends/monet5/bam/Tests/query1.3.stable.err sql/backends/monet5/bam/Tests/query1.3.stable.out sql/backends/monet5/bam/Tests/query1.4.sql sql/backends/monet5/bam/Tests/query1.4.stable.err sql/backends/monet5/bam/Tests/query1.4.stable.out sql/backends/monet5/bam/Tests/query1.5.sql sql/backends/monet5/bam/Tests/query1.5.stable.err sql/backends/monet5/bam/Tests/query1.5.stable.out sql/backends/monet5/bam/Tests/query1.6.sql sql/backends/monet5/bam/Tests/query2.1.sql sql/backends/monet5/bam/Tests/query2.1.stable.err sql/backends/monet5/bam/Tests/query2.1.stable.out sql/backends/monet5/bam/Tests/query2.10.sql sql/backends/monet5/bam/Tests/query2.10.stable.err sql/backends/monet5/bam/Tests/query2.10.stable.out sql/backends/monet5/bam/Tests/query2.11.sql sql/backends/monet5/bam/Tests/query2.11.stable.err sql/backends/monet5/bam/Tests/query2.11.stable.out sql/backends/monet5/bam/Tests/query2.12.sql sql/backends/monet5/bam/Tests/query2.12.stable.err sql/backends/monet5/bam/Tests/query2.12.stable.out sql/backends/monet5/bam/Tests/query2.2.sql sql/backends/monet5/bam/Tests/query2.2.stable.err sql/backends/monet5/bam/Tests/query2.2.stable.out sql/backends/monet5/bam/Tests/query2.3.sql sql/backends/monet5/bam/Tests/query2.3.stable.err sql/backends/monet5/bam/Tests/query2.3.stable.out sql/backends/monet5/bam/Tests/query2.4.sql sql/backends/monet5/bam/Tests/query2.4.stable.err sql/backends/monet5/bam/Tests/query2.4.stable.out sql/backends/monet5/bam/Tests/query2.5.sql sql/backends/monet5/bam/Tests/query2.5.stable.err sql/backends/monet5/bam/Tests/query2.5.stable.out sql/backends/monet5/bam/Tests/query2.6.sql sql/backends/monet5/bam/Tests/query2.6.stable.err sql/backends/monet5/bam/Tests/query2.6.stable.out sql/backends/monet5/bam/Tests/query2.7.sql sql/backends/monet5/bam/Tests/query2.7.stable.err sql/backends/monet5/bam/Tests/query2.7.stable.out sql/backends/monet5/bam/Tests/query2.8.sql sql/backends/monet5/bam/Tests/query2.8.stable.err sql/backends/monet5/bam/Tests/query2.8.stable.out sql/backends/monet5/bam/Tests/query2.9.sql sql/backends/monet5/bam/Tests/query2.9.stable.err sql/backends/monet5/bam/Tests/query2.9.stable.out sql/backends/monet5/bam/Tests/sam_export.SQL.py sql/backends/monet5/bam/Tests/sam_export.stable.err sql/backends/monet5/bam/Tests/sam_export.stable.out sql/backends/monet5/bam/Tests/sql/bam_export.sql sql/backends/monet5/bam/Tests/sql/bam_loader_file.sql sql/backends/monet5/bam/Tests/sql/bam_loader_files.sql sql/backends/monet5/bam/Tests/sql/bam_loader_repos.sql sql/backends/monet5/bam/Tests/sql/drop_last_files.sql sql/backends/monet5/bam/Tests/sql/sam_export.sql sql/backends/monet5/bam/Tests/verify_load.sql sql/backends/monet5/bam/Tests/verify_load.stable.err sql/backends/monet5/bam/Tests/verify_load.stable.out sql/backends/monet5/bam/bam.mal sql/backends/monet5/bam/bam_db_interface.c sql/backends/monet5/bam/bam_db_interface.h sql/backends/monet5/bam/bam_export.c sql/backends/monet5/bam/bam_export.h sql/backends/monet5/bam/bam_globals.c sql/backends/monet5/bam/bam_globals.h sql/backends/monet5/bam/bam_lib.c sql/backends/monet5/bam/bam_lib.h sql/backends/monet5/bam/bam_loader.c sql/backends/monet5/bam/bam_loader.h sql/backends/monet5/bam/bam_wrapper.c sql/backends/monet5/bam/bam_wrapper.h sql/backends/monet5/bam/mykstring.h sql/jdbc/tests/Tests/Test_Dobjects_bam.SQL.sh sql/jdbc/tests/Tests/Test_Dobjects_bam.stable.err sql/jdbc/tests/Tests/Test_Dobjects_bam.stable.out sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-0.Bug-3063_bam.sql.src sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-0.Bug-3063_bam.stable.err sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-0.Bug-3063_bam.stable.out sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-1.Bug-3063_bam.sql.src sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-1.Bug-3063_bam.stable.err sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-1.Bug-3063_bam.stable.out sql/test/BugTracker-2014/Tests/union_with_subqueries.Bug-3518.sql sql/test/BugTracker-2014/Tests/union_with_subqueries.Bug-3518.stable.err sql/test/BugTracker-2014/Tests/union_with_subqueries.Bug-3518.stable.out sql/test/BugTracker-2014/Tests/varchar_conversion_crash.Bug-3506.sql sql/test/BugTracker-2014/Tests/varchar_conversion_crash.Bug-3506.stable.err sql/test/BugTracker-2014/Tests/varchar_conversion_crash.Bug-3506.stable.out sql/test/Dependencies/Tests/Dependencies_bam.SQL.py.src sql/test/Dependencies/Tests/Dependencies_bam.stable.err sql/test/Dependencies/Tests/Dependencies_bam.stable.out sql/test/Tests/keys_bam.sql.src sql/test/Tests/keys_bam.stable.err sql/test/Tests/keys_bam.stable.out Modified Files: .hgtags MonetDB.spec NT/installer32/MonetDB-ODBC-Installer.vdproj NT/installer32/MonetDB5-Geom-Module.vdproj NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB-ODBC-Installer.vdproj NT/installer64/MonetDB5-Geom-Module.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj NT/monetdb_config.h.in NT/rules.msc buildtools/autogen/autogen/am.py buildtools/conf/Maddlog buildtools/conf/Makefile.ag buildtools/conf/banner.bmp buildtools/conf/fixlicense.py buildtools/conf/license.rtf buildtools/conf/monetdb.ico buildtools/conf/rules.mk buildtools/conf/website.html clients/R/MonetDB.R/R/monetdb.R clients/Tests/All clients/examples/php/sqlsample.php clients/mapiclient/mclient.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc clients/python2/setup.py clients/python3/setup.py configure.ag debian/changelog debian/control debian/monetdb5-server.install debian/rules gdk/libbat.rc libversions monetdb5/mal/Tests/tst913.stable.out monetdb5/modules/mal/Tests/tokenizer00.mal monetdb5/modules/mal/Tests/tokenizer00.stable.err monetdb5/modules/mal/Tests/tokenizer00.stable.out monetdb5/modules/mal/tokenizer.c monetdb5/modules/mal/tokenizer.h monetdb5/modules/mal/tokenizer.mal monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_support.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/Makefile.ag sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_statement.c sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out sql/benchmarks/tpch/LOCKED/Tests/18.stable.out sql/benchmarks/tpch/Tests/01-22.stable.out sql/benchmarks/tpch/Tests/16-explain.stable.out sql/benchmarks/tpch/Tests/16-plan.stable.out sql/benchmarks/tpch/Tests/18-explain.stable.out sql/benchmarks/tpch/Tests/18-plan.stable.out sql/benchmarks/tpch/Tests/18.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out sql/benchmarks/tpch/Tests/20-plan.stable.out sql/jdbc/tests/Tests/All sql/server/rel_exp.c sql/server/rel_optimizer.c sql/test/BugConstraints/Tests/All sql/test/BugConstraints/add_constraint_1643522.sql sql/test/BugDay_2005-10-06_2.8/Tests/All sql/test/BugDay_2005-11-09_2.8/Tests/All sql/test/BugTracker-2008/Tests/All sql/test/BugTracker-2008/Tests/sql_command_kills_db.SF-2233677.sql sql/test/BugTracker-2008/Tests/sql_command_kills_db.SF-2233677.stable.err sql/test/BugTracker-2008/Tests/sql_command_kills_db.SF-2233677.stable.out sql/test/BugTracker-2009/Tests/All sql/test/BugTracker-2010/Tests/All sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out sql/test/BugTracker-2011/Tests/All sql/test/BugTracker-2011/Tests/count-count-distinct.Bug-2808.sql sql/test/BugTracker-2011/Tests/count-count-distinct.Bug-2808.stable.out sql/test/BugTracker-2011/Tests/exists-select.Bug-2933.sql sql/test/BugTracker-2011/Tests/exists-select.Bug-2933.stable.out sql/test/BugTracker-2012/Tests/All sql/test/BugTracker-2012/Tests/aggregate_vs_positional_column_crash.Bug-3085.sql sql/test/BugTracker-2012/Tests/aggregate_vs_positional_column_crash.Bug-3085.stable.out sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.sql sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.err sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out sql/test/BugTracker-2013/Tests/All sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.sql sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out sql/test/BugTracker-2014/Tests/All sql/test/BugTracker-2014/Tests/select-having.Bug-3458.sql sql/test/BugTracker-2014/Tests/select-having.Bug-3458.stable.out sql/test/BugTracker/Tests/All sql/test/Dependencies/Tests/All sql/test/DropCascade/Tests/All sql/test/DropCascade/Tests/drop_columns_cascade.sql sql/test/DropCascade/Tests/drop_pkey_cascade.sql sql/test/Dump/Tests/All sql/test/Tests/All sql/test/UserDump/Tests/All sql/test/bugs/Tests/All sql/test/bugs/Tests/crash_order_by.sql sql/test/bugs/Tests/crash_order_by.stable.err sql/test/bugs/Tests/crash_order_by.stable.out sql/test/bugs/Tests/insert_delete-bug-sf-904025.stable.out sql/test/bugs/Tests/simple_view.sql sql/test/bugs/Tests/simple_view.stable.out sql/test/bugs/insert_delete-bug-sf-904025.sql sql/test/leaks/Tests/All sql/test/mapi/Tests/All sql/test/mapi/Tests/php_monetdb.stable.out sql/test/pg_regress/Tests/date.sql sql/test/pg_regress/Tests/point.sql sql/test/pg_regress/Tests/point.stable.out sql/test/pg_regress/Tests/strings.sql sql/test/pg_regress/Tests/strings.stable.err sql/test/pg_regress/Tests/strings.stable.out sql/test/pg_regress/postgresql2sql99.sh sql/test/testdb/Tests/All sql/test/testdb/Tests/testdb-load.stable.err sql/test/testdb/Tests/testdb-load.stable.out testing/Mtest.py.in vertoo.data Branch: transaction-replication Log Message:
Merge with default branch. diffs (truncated from 24088 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -569,3 +569,6 @@ 13e1b24f442791f5ab790fa77453d3bd4e88a9c8 389f5f0d4c43ab689e31c28e01b43c8b7ba8de9c Jan2014_SP2_release dc158ade928d0305f3f0e7ef9613dd81329f613d Jan2014_19 0218c4ec31068bd1b9be7d2bb1ccad31e17e8d5f Jan2014_SP3_release +6830d0b9c31fe23954c75014a581f145c7a551ff Jan2014_21 +0218c4ec31068bd1b9be7d2bb1ccad31e17e8d5f Jan2014_SP3_release +6c7d5f562fcb044b745c871344c25b1c6bab7cf4 Jan2014_SP3_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -36,6 +36,10 @@ %define with_geos 1 %endif +%if %{?_with_samtools:1}%{!?_with_samtools:0} +%define with_samtools 1 +%endif + Name: %{name} Version: %{version} Release: %{release} @@ -78,6 +82,9 @@ BuildRequires: rubygems-devel %endif BuildRequires: unixODBC-devel BuildRequires: zlib-devel +%if %{?with_samtools:1}%{!?with_samtools:0} +BuildRequires: samtools-devel +%endif # need to define python_sitelib on RHEL 5 and older # no need to define python3_sitelib: it's defined by python3-devel @@ -449,6 +456,29 @@ numerical analysis (gsl). %{_libdir}/monetdb5/gsl.mal %{_libdir}/monetdb5/lib_gsl.so +%if %{?_with_samtools:1}%{!?_with_samtools:0} +%package bam-MonetDB5 +Summary: MonetDB5 SQL interface to the bam library +Group: Applications/Databases +Requires: MonetDB5-server = %{version}-%{release} + +%description bam-MonetDB5 +MonetDB is a database management system that is developed from a +main-memory perspective with use of a fully decomposed storage model, +automatic index management, extensibility of data types and search +accelerators. It also has an SQL frontend. + +This package contains the interface to load and query BAM (binary +version of Sequence Alignment/Map) data. + +%files bam-MonetDB5 +%defattr(-,root,root) +%{_libdir}/monetdb5/autoload/*_bam.mal +%{_libdir}/monetdb5/createdb/*_bam.sql +%{_libdir}/monetdb5/bam.mal +%{_libdir}/monetdb5/lib_bam.so +%endif + %package -n MonetDB5-server Summary: MonetDB - Monet Database Management System Group: Applications/Databases @@ -512,6 +542,11 @@ fi %exclude %{_libdir}/monetdb5/lib_geom.so %endif %exclude %{_libdir}/monetdb5/lib_gsl.so +%if %{?_with_samtools:1}%{!?_with_samtools:0} +%exclude %{_libdir}/monetdb5/bam.mal +%exclude %{_libdir}/monetdb5/autoload/*_bam.mal +%exclude %{_libdir}/monetdb5/lib_bam.so +%endif # %exclude %{_libdir}/monetdb5/lib_rdf.so %exclude %{_libdir}/monetdb5/lib_sql.so %{_libdir}/monetdb5/*.so @@ -605,6 +640,9 @@ systemd-tmpfiles --create %{_sysconfdir} %exclude %{_libdir}/monetdb5/createdb/*_geom.sql %endif %exclude %{_libdir}/monetdb5/createdb/*_gsl.sql +%if %{?_with_samtools:1}%{!?_with_samtools:0} +%exclude %{_libdir}/monetdb5/createdb/*_bam.sql +%endif # %exclude %{_libdir}/monetdb5/createdb/*_rdf.sql %{_libdir}/monetdb5/createdb/* %{_libdir}/monetdb5/sql*.mal @@ -762,6 +800,7 @@ developer, but if you do want to test, t --with-readline=yes \ --with-rubygem=%{?rhel:no}%{!?rhel:yes} \ --with-rubygem-dir=%{?rhel:no}%{!?rhel:"%{gem_dir}"} \ + --with-samtools=%{?with_samtools:yes}%{!?with_samtools:no} \ --with-sphinxclient=no \ --with-unixodbc=yes \ --with-valgrind=no \ @@ -802,6 +841,11 @@ mv $RPM_BUILD_ROOT%{_datadir}/doc/MonetD rm -fr $RPM_BUILD_ROOT %changelog +* Fri Jul 25 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.21-20140725 +- Rebuilt. +- BZ#3519: Uppercase TRUE/FALSE strings cannot be converted to boolean + values + * Tue Jul 22 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.19-20140722 - Rebuilt. - BZ#3487: dead link to "Professional services" diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -458,6 +458,12 @@ /* Define to 1 if you have the `round' function. */ /* #undef HAVE_ROUND */ +/* Define if you have the samtools (providing the bam library) */ +/* #undef HAVE_SAMTOOLS */ + +/* Define to 1 if you have the <samtools/kstring.h> header file. */ +/* #undef HAVE_SAMTOOLS_KSTRING_H */ + /* Define to 1 if you have the `sbrk' function. */ /* #undef HAVE_SBRK */ diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -411,6 +411,11 @@ create_winconfig_conds_new_py: !ELSE $(ECHO) HAVE_RUBYGEM_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" !ENDIF +!IFDEF HAVE_SAMTOOLS + $(ECHO) HAVE_SAMTOOLS_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" +!ELSE + $(ECHO) HAVE_SAMTOOLS_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" +!ENDIF !IFDEF HAVE_SPHINXCLIENT $(ECHO) HAVE_SPHINXCLIENT_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" !ELSE diff --git a/buildtools/autogen/autogen/am.py b/buildtools/autogen/autogen/am.py --- a/buildtools/autogen/autogen/am.py +++ b/buildtools/autogen/autogen/am.py @@ -1046,7 +1046,7 @@ def am_ant(fd, var, ant, am): if "COND" in ant: fd.write("\nif " + ant["COND"][0] +"\n\n") - fd.write("\n%s_ant_target:\n\t\"$(ANT)\" -f \"`$(anttranslatepath) $(srcdir)/build.xml`\" -Dbuilddir=\"`$(anttranslatepath) $(PWD)/%s`\" -Djardir=\"`$(anttranslatepath) $(PWD)`\" -Dbasedir=\"`$(anttranslatepath) $(srcdir)`\" %s\n" % (target, target, target)) + fd.write("\n%s_ant_target:\n\t\"$(ANT)\" -f \"`$(anttranslatepath) $(srcdir)/build.xml`\" -Dbuilddir=\"`$(anttranslatepath) $(PWD)`/%s\" -Djardir=\"`$(anttranslatepath) $(PWD)`\" -Dbasedir=\"`$(anttranslatepath) $(srcdir)`\" %s\n" % (target, target, target)) for file in ant['FILES']: sfile = file.replace(".", "_") diff --git a/clients/R/MonetDB.R/R/monetdb.R b/clients/R/MonetDB.R/R/monetdb.R --- a/clients/R/MonetDB.R/R/monetdb.R +++ b/clients/R/MonetDB.R/R/monetdb.R @@ -148,7 +148,7 @@ setMethod("dbDisconnect", "MonetDBConnec }) setMethod("dbListTables", "MonetDBConnection", def=function(conn, ..., sys_tables=F, schema_names=F, quote=F) { - q <- "select schemas.name as sn, tables.name as tn from tables join sys.schemas on tables.schema_id=schemas.id" + q <- "select schemas.name as sn, tables.name as tn from sys.tables join sys.schemas on tables.schema_id=schemas.id" if (!sys_tables) q <- paste0(q, " where tables.system=false") df <- dbGetQuery(conn, q) if (quote) { diff --git a/clients/Tests/All b/clients/Tests/All --- a/clients/Tests/All +++ b/clients/Tests/All @@ -1,8 +1,8 @@ exports -HAVE_GEOM&HAVE_CFITSIO&!HAVE_SPHINXCLIENT&!HAVE_GSL?MAL-signatures -HAVE_GEOM&HAVE_CFITSIO&!HAVE_SPHINXCLIENT&HAVE_GSL?MAL-signatures_gsl -HAVE_GEOM&HAVE_CFITSIO&HAVE_SPHINXCLIENT&!HAVE_GSL?MAL-signatures_sphinxclient -HAVE_GEOM&!HAVE_CFITSIO&!HAVE_SPHINXCLIENT&!HAVE_GSL?MAL-signatures_nocfitsio -HAVE_GEOM&!HAVE_GSL?SQL-dump -HAVE_GEOM&HAVE_GSL?SQL-dump_gsl -!HAVE_GEOM&!HAVE_GSL?SQL-dump_nogeom +HAVE_GEOM&HAVE_CFITSIO&!HAVE_SPHINXCLIENT&!HAVE_GSL&!HAVE_SAMTOOLS?MAL-signatures +HAVE_GEOM&HAVE_CFITSIO&!HAVE_SPHINXCLIENT&HAVE_GSL&!HAVE_SAMTOOLS?MAL-signatures_gsl +HAVE_GEOM&HAVE_CFITSIO&HAVE_SPHINXCLIENT&!HAVE_GSL&!HAVE_SAMTOOLS?MAL-signatures_sphinxclient +HAVE_GEOM&!HAVE_CFITSIO&!HAVE_SPHINXCLIENT&!HAVE_GSL&!HAVE_SAMTOOLS?MAL-signatures_nocfitsio +HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS?SQL-dump +HAVE_GEOM&HAVE_GSL&!HAVE_SAMTOOLS?SQL-dump_gsl +!HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS?SQL-dump_nogeom diff --git a/clients/examples/php/sqlsample.php b/clients/examples/php/sqlsample.php --- a/clients/examples/php/sqlsample.php +++ b/clients/examples/php/sqlsample.php @@ -23,12 +23,12 @@ require 'monetdb/php_monetdb.php'; $db = monetdb_connect("sql", "localhost", $argv[1], "monetdb", "monetdb", $argv[2]); -$tables = monetdb_query('SELECT name FROM tables'); +$tables = monetdb_query('SELECT name FROM tables LIMIT 10'); for ($i = 0; $line = @monetdb_fetch_assoc($tables); $i++) { print($line['name']."\n"); } -$result = monetdb_query('SELECT name, schema_id, query, type, system, commit_action, readonly, temporary FROM tables'); +$result = monetdb_query('SELECT name, schema_id, query, type, system, commit_action, readonly, temporary FROM tables LIMIT 10'); $cols = monetdb_num_fields($result); for ($i = 0; $i < $cols; $i++) { print(monetdb_field_name($result, $i)."\t"); diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -116,7 +116,8 @@ enum formatters { XMLformatter, TESTformatter, CLEANformatter, - TIMERformatter + TIMERformatter, + SAMformatter }; static enum formatters formatter = NOformatter; char *output = NULL; /* output format as string */ @@ -1040,6 +1041,84 @@ TIMERrenderer(MapiHdl hdl) printf("%s\n", timerHuman()); } + +static void +SAMrenderer(MapiHdl hdl) +{ + /* Variables keeping track of which result set fields map to + * qname, flag etc. (-1 means that it does not occur in result + * set) */ + int field_qname = -1; + int field_flag = -1; + int field_rname = -1; + int field_pos = -1; + int field_mapq = -1; + int field_cigar = -1; + int field_rnext = -1; + int field_pnext = -1; + int field_tlen = -1; + int field_seq = -1; + int field_qual = -1; + + int field_count = mapi_get_field_count(hdl); + int t_fields; + + int i; + + /* First, initialize field variables properly */ + for (i = 0; i < field_count; i++) { + char *field_name = mapi_get_name(hdl, i); + if (strcmp(field_name, "qname") == 0) + field_qname = i; + else if (strcmp(field_name, "flag" ) == 0) + field_flag = i; + else if (strcmp(field_name, "rname") == 0) + field_rname = i; + else if (strcmp(field_name, "pos" ) == 0) + field_pos = i; + else if (strcmp(field_name, "mapq" ) == 0) + field_mapq = i; + else if (strcmp(field_name, "cigar") == 0) + field_cigar = i; + else if (strcmp(field_name, "rnext") == 0) + field_rnext = i; + else if (strcmp(field_name, "pnext") == 0) + field_pnext = i; + else if (strcmp(field_name, "tlen" ) == 0) + field_tlen = i; + else if (strcmp(field_name, "seq" ) == 0) + field_seq = i; + else if (strcmp(field_name, "qual" ) == 0) + field_qual = i; + else + mnstr_printf(stderr_stream, "Unexpected column name in result set: '%s'. Data in this column is not used.\n", field_name); + } + + /* Write all alignments */ + while (!mnstr_errnr(toConsole) && (t_fields = fetch_row(hdl)) != 0) { + if (t_fields != field_count) { + mnstr_printf(stderr_stream, + "invalid tuple received from server, " + "got %d columns, expected %d, ignoring\n", t_fields, field_count); + continue; + } + + /* Write fields to SAM line */ + mnstr_printf(toConsole, "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", + (field_qname == -1 ? "*" : mapi_fetch_field(hdl, field_qname)), + (field_flag == -1 ? "0" : mapi_fetch_field(hdl, field_flag )), + (field_rname == -1 ? "*" : mapi_fetch_field(hdl, field_rname)), + (field_pos == -1 ? "0" : mapi_fetch_field(hdl, field_pos )), + (field_mapq == -1 ? "255" : mapi_fetch_field(hdl, field_mapq )), + (field_cigar == -1 ? "*" : mapi_fetch_field(hdl, field_cigar)), + (field_rnext == -1 ? "*" : mapi_fetch_field(hdl, field_rnext)), + (field_pnext == -1 ? "0" : mapi_fetch_field(hdl, field_pnext)), + (field_tlen == -1 ? "0" : mapi_fetch_field(hdl, field_tlen )), + (field_seq == -1 ? "*" : mapi_fetch_field(hdl, field_seq )), + (field_qual == -1 ? "*" : mapi_fetch_field(hdl, field_qual))); + } +} + static void SQLheader(MapiHdl hdl, int *len, int fields, char more) { @@ -1390,6 +1469,8 @@ setFormatter(char *s) formatter = TESTformatter; } else if (strcmp(s, "timer") == 0) { formatter = TIMERformatter; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list