Changeset: 1afa23bd6c44 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1afa23bd6c44
Added Files:
debian/monetdb-python2.install
sql/backends/monet5/Tests/shutdown.py
sql/backends/monet5/Tests/shutdown.stable.err
sql/backends/monet5/Tests/shutdown.stable.out
sql/backends/monet5/UDF/pyapi/conversion.c
sql/backends/monet5/UDF/pyapi/conversion.h
sql/backends/monet5/UDF/pyapi/pyheader.h
sql/backends/monet5/UDF/pyapi/undef.h
sql/test/BugTracker-2016/Tests/case-column-when-null-Bug-6124.sql
sql/test/BugTracker-2016/Tests/case-column-when-null-Bug-6124.stable.err
sql/test/BugTracker-2016/Tests/case-column-when-null-Bug-6124.stable.out
sql/test/BugTracker-2016/Tests/column_name_lost_in_in_operator.Bug-6123.sql
sql/test/BugTracker-2016/Tests/column_name_lost_in_in_operator.Bug-6123.stable.err
sql/test/BugTracker-2016/Tests/column_name_lost_in_in_operator.Bug-6123.stable.out
sql/test/BugTracker-2016/Tests/nested-subquery-in-select.Bug-6125.sql
sql/test/BugTracker-2016/Tests/nested-subquery-in-select.Bug-6125.stable.err
sql/test/BugTracker-2016/Tests/nested-subquery-in-select.Bug-6125.stable.out
sql/test/BugTracker-2016/Tests/select-in-from.Bug-6119.sql
sql/test/BugTracker-2016/Tests/select-in-from.Bug-6119.stable.err
sql/test/BugTracker-2016/Tests/select-in-from.Bug-6119.stable.out
sql/test/BugTracker-2016/Tests/select-in-from.Bug-6121.sql
sql/test/BugTracker-2016/Tests/select-in-from.Bug-6121.stable.err
sql/test/BugTracker-2016/Tests/select-in-from.Bug-6121.stable.out
tools/mserver/shutdowntest.c
Removed Files:
sql/backends/monet5/UDF/pyapi/unspecified_evil.h
Modified Files:
MonetDB.spec
buildtools/ChangeLog.Dec2016
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/tomograph.c
configure.ag
debian/control
debian/monetdb-client-testing.install
debian/monetdb5-server.install
debian/rules
gdk/ChangeLog
gdk/ChangeLog.Dec2016
gdk/gdk.h
gdk/gdk_align.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_calc.c
gdk/gdk_calc_compare.h
gdk/gdk_hash.h
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_project.c
gdk/gdk_search.c
gdk/gdk_system.c
gdk/gdk_utils.c
gdk/gdk_utils.h
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
monetdb5/extras/rapi/Tests/rapi02.stable.out
monetdb5/extras/rapi/rapi.R
monetdb5/mal/Tests/dataflow01.malC
monetdb5/mal/Tests/performanceTests/join.malC
monetdb5/mal/Tests/selecttest.malC
monetdb5/mal/Tests/tst023.malC
monetdb5/mal/Tests/tst033.malC
monetdb5/mal/Tests/tst034.malC
monetdb5/mal/Tests/tst1602.malC
monetdb5/mal/Tests/tst201.malC
monetdb5/mal/Tests/tst220.malC
monetdb5/mal/Tests/tst285.malC
monetdb5/mal/Tests/tst903.malC
monetdb5/mal/Tests/tst903.stable.out
monetdb5/mal/Tests/tst911.malC
monetdb5/mal/Tests/tst911.stable.out
monetdb5/mal/Tests/tst912.malC
monetdb5/mal/mal.c
monetdb5/mal/mal.h
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_module.c
monetdb5/mal/mal_module.h
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_runtime.c
monetdb5/mal/mal_session.c
monetdb5/mal/mal_stack.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/uuid.c
monetdb5/modules/kernel/aggr.mal
monetdb5/modules/kernel/aggr.mal.sh
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/algebra.h
monetdb5/modules/kernel/algebra.mal
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/bat5.h
monetdb5/modules/kernel/bat5.mal
monetdb5/modules/mal/Tests/inspect05.malC
monetdb5/modules/mal/Tests/inspect05.stable.out.int128
monetdb5/modules/mal/Tests/mapi01.malC
monetdb5/modules/mal/Tests/mapi07.malC
monetdb5/modules/mal/Tests/orderidx01.malC
monetdb5/modules/mal/Tests/orderidx02.malC
monetdb5/modules/mal/Tests/remote04.malC
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/manual.c
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/pcre.mal
monetdb5/modules/mal/tablet.c
monetdb5/modules/mosaic/mosaic_dictionary.c
monetdb5/optimizer/Tests/CMexample.malC
monetdb5/optimizer/Tests/CRexample.malC
monetdb5/optimizer/Tests/CXexample.malC
monetdb5/optimizer/Tests/CXexample.stable.out
monetdb5/optimizer/Tests/DCexample.malC
monetdb5/optimizer/Tests/FTexample.malC
monetdb5/optimizer/Tests/GCexample01.stable.out
monetdb5/optimizer/Tests/dataflow.malC
monetdb5/optimizer/Tests/dataflow.stable.out
monetdb5/optimizer/Tests/dataflow3.stable.out
monetdb5/optimizer/Tests/mat00.malC
monetdb5/optimizer/Tests/qep00.malC
monetdb5/optimizer/Tests/qep01.malC
monetdb5/optimizer/Tests/qep02.malC
monetdb5/optimizer/Tests/reorder00.malC
monetdb5/optimizer/Tests/reorder00.stable.out
monetdb5/optimizer/Tests/tst4000.malC
monetdb5/optimizer/Tests/tst4000.stable.out
monetdb5/optimizer/Tests/tst4003.malC
monetdb5/optimizer/Tests/tst4003.stable.out
monetdb5/optimizer/Tests/tst4030.malC
monetdb5/optimizer/Tests/tst4030.stable.out
monetdb5/optimizer/Tests/tst4700.malC
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_candidates.c
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_jit.c
monetdb5/optimizer/opt_matpack.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_profiler.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_querylog.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_support.h
monetdb5/optimizer/opt_volcano.c
monetdb5/optimizer/opt_wrapper.c
sql/backends/monet5/LSST/lsst.c
sql/backends/monet5/LSST/lsst.h
sql/backends/monet5/LSST/lsst.mal
sql/backends/monet5/Tests/All
sql/backends/monet5/Tests/pyapi09.sql
sql/backends/monet5/Tests/pyapi21.sql
sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
sql/backends/monet5/UDF/pyapi/Makefile.ag
sql/backends/monet5/UDF/pyapi/connection.c
sql/backends/monet5/UDF/pyapi/connection.h
sql/backends/monet5/UDF/pyapi/convert_loops.h
sql/backends/monet5/UDF/pyapi/emit.c
sql/backends/monet5/UDF/pyapi/formatinput.c
sql/backends/monet5/UDF/pyapi/formatinput.h
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/UDF/pyapi/pyapi.h
sql/backends/monet5/UDF/pyapi/pyloader.c
sql/backends/monet5/UDF/pyapi/pytypes.c
sql/backends/monet5/UDF/pyapi/pytypes.h
sql/backends/monet5/UDF/pyapi/type_conversion.c
sql/backends/monet5/UDF/pyapi/type_conversion.h
sql/backends/monet5/UDF/pyapi/unicode.c
sql/backends/monet5/UDF/pyapi/unicode.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql.mal
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_optimizer.c
sql/backends/monet5/sql_statement.c
sql/server/rel_exp.c
sql/server/rel_exp.h
sql/server/rel_optimizer.c
sql/server/rel_rel.c
sql/server/rel_select.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_table.c
sql/storage/store.c
sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.sql
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/BugTracker-2013/Tests/between.Bug-3259.sql
sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.sql
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out
sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.sql
sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out
sql/test/BugTracker-2016/Tests/All
sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
sql/test/BugTracker-2016/Tests/storagemodel.stable.out
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.int128
sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/Tests/setoptimizer.stable.out
sql/test/Tests/setoptimizer.stable.out.Windows
sql/test/mapi/Tests/sql_int128.stable.out
sql/test/mergetables/Tests/mergequery.stable.out
sql/test/remote/Tests/partition_elim.stable.out
testing/Mtest.py.in
tools/mserver/Makefile.ag
tools/mserver/monet_version.c.in
Branch: mosaic
Log Message:
Text
diffs (truncated from 16048 to 300 lines):
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -87,6 +87,16 @@
%endif
%endif
+# If the _without_pyintegration macro is not set, the MonetDB-python2
+# RPM will be created. The macro can be set when using mock by
+# passing it the flag --without=pyintegration.
+# On RHEL 6, numpy is too old.
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
+%if %{?_without_pyintegration:0}%{!?_without_pyintegration:1}
+%define with_pyintegration 1
+%endif
+%endif
+
%if %{fedpkgs}
# If the _with_fits macro is set, the MonetDB-cfitsio RPM will be
# created. The macro can be set when using mock by passing it the
@@ -146,7 +156,6 @@ BuildRequires: libuuid-devel
BuildRequires: libxml2-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel >= 4.5
-BuildRequires: python-devel
BuildRequires: readline-devel
BuildRequires: unixODBC-devel
# BuildRequires: uriparser-devel
@@ -154,6 +163,20 @@ BuildRequires: zlib-devel
%if %{?with_samtools:1}%{!?with_samtools:0}
BuildRequires: samtools-devel
%endif
+%if %{?with_pyintegration:1}%{!?with_pyintegration:0}
+BuildRequires: python-devel
+%if %{?rhel:1}%{!?rhel:0}
+# RedHat Enterprise Linux calls it simply numpy
+BuildRequires: numpy
+%else
+%if (0%{?fedora} >= 24)
+BuildRequires: python2-numpy
+%else
+# Fedora <= 23 doesn't have python2-numpy
+BuildRequires: numpy
+%endif
+%endif
+%endif
%if %{?with_rintegration:1}%{!?with_rintegration:0}
BuildRequires: R-core-devel
%endif
@@ -387,6 +410,7 @@ developer.
%{_bindir}/sample4
%{_bindir}/smack00
%{_bindir}/smack01
+%{_bindir}/shutdowntest
%{_bindir}/testgetinfo
%{_bindir}/malsample.pl
%{_bindir}/sqlsample.php
@@ -509,6 +533,32 @@ install it.
%{_libdir}/monetdb5/lib_rapi.so
%endif
+%if %{?with_pyintegration:1}%{!?with_pyintegration:0}
+%package python2
+Summary: Integration of MonetDB and Python, allowing use of Python from within
SQL
+Group: Applications/Databases
+Requires: MonetDB-SQL-server5%{?_isa} = %{version}-%{release}
+
+%description python2
+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 use the Python language from
+within SQL queries. This package is for Python 2.
+
+NOTE: INSTALLING THIS PACKAGE OPENS UP SECURITY ISSUES. If you don't
+know how this package affects the security of your system, do not
+install it.
+
+%files python2
+%defattr(-,root,root)
+%{_libdir}/monetdb5/pyapi.*
+%{_libdir}/monetdb5/autoload/*_pyapi.mal
+%{_libdir}/monetdb5/lib_pyapi.so
+%endif
+
%if %{?with_fits:1}%{!?with_fits:0}
%package cfitsio
Summary: MonetDB: Add on module that provides support for FITS files
@@ -537,7 +587,6 @@ Summary: MonetDB - Monet Database Manage
Group: Applications/Databases
Requires(pre): shadow-utils
Requires: %{name}-client%{?_isa} = %{version}-%{release}
-Obsoletes: MonetDB5-server-rdf
%if (0%{?fedora} >= 22)
Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release}
%if %{bits} == 64
@@ -597,6 +646,9 @@ fi
%if %{?with_lidar:1}%{!?with_lidar:0}
%exclude %{_libdir}/monetdb5/lidar.mal
%endif
+%if %{?with_pyintegration:1}%{!?with_pyintegration:0}
+%exclude %{_libdir}/monetdb5/pyapi.mal
+%endif
%if %{?with_rintegration:1}%{!?with_rintegration:0}
%exclude %{_libdir}/monetdb5/rapi.mal
%endif
@@ -613,6 +665,9 @@ fi
%if %{?with_lidar:1}%{!?with_lidar:0}
%exclude %{_libdir}/monetdb5/autoload/*_lidar.mal
%endif
+%if %{?with_pyintegration:1}%{!?with_pyintegration:0}
+%exclude %{_libdir}/monetdb5/autoload/*_pyapi.mal
+%endif
%if %{?with_rintegration:1}%{!?with_rintegration:0}
%exclude %{_libdir}/monetdb5/autoload/*_rapi.mal
%endif
@@ -625,6 +680,9 @@ fi
%if %{?with_lidar:1}%{!?with_lidar:0}
%exclude %{_libdir}/monetdb5/lib_lidar.so
%endif
+%if %{?with_pyintegration:1}%{!?with_pyintegration:0}
+%exclude %{_libdir}/monetdb5/lib_pyapi.so
+%endif
%if %{?with_rintegration:1}%{!?with_rintegration:0}
%exclude %{_libdir}/monetdb5/lib_rapi.so
%endif
@@ -692,8 +750,6 @@ Requires: MonetDB5-server%{?_isa} = %{ve
# RHEL >= 7, and all current Fedora
Requires: %{_bindir}/systemd-tmpfiles
%endif
-Obsoletes: MonetDB-SQL-devel
-Obsoletes: %{name}-SQL
%if (0%{?fedora} >= 22)
%if %{bits} == 64
Recommends: %{name}-SQL-server5-hugeint%{?_isa} = %{version}-%{release}
@@ -784,7 +840,6 @@ frontend of MonetDB.
%package testing
Summary: MonetDB - Monet Database Management System
Group: Applications/Databases
-Obsoletes: MonetDB-python
%description testing
MonetDB is a database management system that is developed from a
@@ -847,12 +902,12 @@ developer, but if you do want to test, t
--enable-int128=%{?with_int128:yes}%{!?with_int128:no} \
--enable-lidar=%{?with_lidar:yes}%{!?with_lidar:no} \
--enable-mapi=yes \
- --enable-microhttpd=no \
--enable-monetdb5=yes \
--enable-netcdf=no \
--enable-odbc=yes \
--enable-optimize=yes \
--enable-profile=no \
+
--enable-pyintegration=%{?with_pyintegration:yes}%{!?with_pyintegration:no} \
--enable-rintegration=%{?with_rintegration:yes}%{!?with_rintegration:no} \
--enable-shp=no \
--enable-sql=yes \
@@ -868,7 +923,8 @@ developer, but if you do want to test, t
--with-openssl=yes \
--with-proj=no \
--with-pthread=yes \
- --with-python=yes \
+ --with-python2=yes \
+ --with-python3=no \
--with-readline=yes \
--with-samtools=%{?with_samtools:yes}%{!?with_samtools:no} \
--with-sphinxclient=no \
diff --git a/buildtools/ChangeLog.Dec2016 b/buildtools/ChangeLog.Dec2016
--- a/buildtools/ChangeLog.Dec2016
+++ b/buildtools/ChangeLog.Dec2016
@@ -1,6 +1,10 @@
# ChangeLog file for buildtools
# This file is updated with Maddlog
+* Tue Dec 6 2016 Sjoerd Mullender <[email protected]>
+- New packages MonetDB-python2 (Fedora) and monetdb-python2 (Debian/Ubuntu)
+ have been created for Python 2 integration into MonetDB.
+
* Tue Jul 19 2016 Stefan Manegold <[email protected]>
- With OID size equal to ABI/word size, mserver5 does not need to print
the OID size, anymore.
diff --git a/clients/Tests/MAL-signatures.stable.out
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -461,8 +461,11 @@ Ready.
[ "alarm", "sleep", "command alarm.sleep(secs:int):void ",
"ALARMsleep;", "Sleep a few seconds" ]
[ "alarm", "time", "command alarm.time():int ", "ALARMtime;", "Return
time in milliseconds." ]
[ "alarm", "usec", "command alarm.usec():lng ", "ALARMusec;", "Return
time in microseconds." ]
+[ "algebra", "antijoin", "function
algebra.antijoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]);", "", "" ]
+[ "algebra", "bandjoin", "command
algebra.bandjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],c1:any_1,c2:any_1,li:bit,hi:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGbandjoin;", "Band join: values in l and
r match if r - c1 <[=] l <[=] r + c2" ]
[ "algebra", "copy", "command algebra.copy(b:bat[:any_1]):bat[:any_1] ",
"ALGcopy;", "Returns physical copy of a BAT." ]
[ "algebra", "crossproduct", "command
algebra.crossproduct(left:bat[:any_1],right:bat[:any_2])
(l:bat[:oid],r:bat[:oid]) ", "ALGcrossproduct2;", "Returns 2 columns with
all BUNs, consisting of the head-oids\n\t from 'left' and 'right' for which
there are BUNs in 'left'\n\t and 'right' with equal tails" ]
+[ "algebra", "difference", "command
algebra.difference(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng):bat[:oid]
", "ALGdifference;", "Difference of l and r with candidate lists" ]
[ "algebra", "exist", "command
algebra.exist(b:bat[:any_1],val:any_1):bit ", "ALGexist;", "Returns whether
'val' occurs in b." ]
[ "algebra", "fetch", "command
algebra.fetch(b:bat[:any_1],x:oid):any_1 ", "ALGfetchoid;", "Returns the
value of the BUN at x-th position with 0 <= x < b.count" ]
[ "algebra", "find", "command algebra.find(b:bat[:any_1],t:any_1):oid ",
"ALGfind;", "Returns the index position of a value. If no such BUN exists
return OID-nil." ]
@@ -475,42 +478,39 @@ Ready.
[ "algebra", "groupby", "command
algebra.groupby(gids:bat[:oid],cnts:bat[:lng]):bat[:oid] ", "ALGgroupby;",
"Produces a new BAT with groups identified by the head column. The result
contains tail times the head value, ie the tail contains the result group
sizes." ]
[ "algebra", "ilike", "command algebra.ilike(s:str,pat:str):bit ",
"PCREilike2;", "" ]
[ "algebra", "ilike", "command
algebra.ilike(s:str,pat:str,esc:str):bit ", "PCREilike3;", "" ]
-[ "algebra", "ilikesubjoin", "command
algebra.ilikesubjoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEsubjoin1;", "" ]
-[ "algebra", "ilikesubjoin", "command
algebra.ilikesubjoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEsubjoin;", "Join the string bat
L with the pattern bat R\nwith optional candidate lists SL and SR using pattern
escape string ESC\nand doing a case insensitive match.\nThe result is two
aligned bats with oids of matching rows." ]
-[ "algebra", "ilikesubselect", "command
algebra.ilikesubselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikesubselect1;", "" ]
-[ "algebra", "ilikesubselect", "command
algebra.ilikesubselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid]
", "PCRElikesubselect4;", "" ]
+[ "algebra", "ilikejoin", "command
algebra.ilikejoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEjoin1;", "" ]
+[ "algebra", "ilikejoin", "command
algebra.ilikejoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEjoin;", "Join the string bat L
with the pattern bat R\nwith optional candidate lists SL and SR using pattern
escape string ESC\nand doing a case insensitive match.\nThe result is two
aligned bats with oids of matching rows." ]
+[ "algebra", "ilikeselect", "command
algebra.ilikeselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikeselect1;", "" ]
+[ "algebra", "ilikeselect", "command
algebra.ilikeselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikeselect4;", "" ]
+[ "algebra", "intersect", "command
algebra.intersect(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng):bat[:oid]
", "ALGintersect;", "Intersection of l and r with candidate lists
(i.e. half of semi-join)" ]
+[ "algebra", "join", "command
algebra.join(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGjoin;", "Join" ]
+[ "algebra", "leftjoin", "command
algebra.leftjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGleftjoin;", "Left join with candidate
lists" ]
[ "algebra", "like", "command algebra.like(s:str,pat:str):bit ",
"PCRElike2;", "" ]
[ "algebra", "like", "command algebra.like(s:str,pat:str,esc:str):bit ",
"PCRElike3;", "" ]
-[ "algebra", "likesubjoin", "command
algebra.likesubjoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEsubjoin1;", "" ]
-[ "algebra", "likesubjoin", "command
algebra.likesubjoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEsubjoin;", "Join the string bat L with
the pattern bat R\nwith optional candidate lists SL and SR using pattern escape
string ESC\nand doing a case sensitive match.\nThe result is two aligned bats
with oids of matching rows." ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],s:bat[:oid],pat:str,esc:str,caseignore:bit,anti:bit):bat[:oid]
", "PCRElikesubselect2;", "Select all head values of the first input BAT
for which the\n\ttail value is \"like\" the given (SQL-style) pattern and
for\n\twhich the head value occurs in the tail of the second
input\n\tBAT.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the\n\trelationship
holds. The output BAT is sorted on the tail value." ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikesubselect3;", "" ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikesubselect5;", "" ]
+[ "algebra", "likejoin", "command
algebra.likejoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEjoin1;", "" ]
+[ "algebra", "likejoin", "command
algebra.likejoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEjoin;", "Join the string bat L
with the pattern bat R\nwith optional candidate lists SL and SR using pattern
escape string ESC\nand doing a case sensitive match.\nThe result is two aligned
bats with oids of matching rows." ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],s:bat[:oid],pat:str,esc:str,caseignore:bit,anti:bit):bat[:oid]
", "PCRElikeselect2;", "Select all head values of the first input
BAT for which the\n\ttail value is \"like\" the given (SQL-style) pattern and
for\n\twhich the head value occurs in the tail of the second
input\n\tBAT.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the\n\trelationship
holds. The output BAT is sorted on the tail value." ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikeselect3;", "" ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikeselect5;", "" ]
[ "algebra", "not_ilike", "command algebra.not_ilike(s:str,pat:str):bit
", "PCREnotilike2;", "" ]
[ "algebra", "not_ilike", "command
algebra.not_ilike(s:str,pat:str,esc:str):bit ", "PCREnotilike3;",
"" ]
[ "algebra", "not_like", "command algebra.not_like(s:str,pat:str):bit ",
"PCREnotlike2;", "" ]
[ "algebra", "not_like", "command
algebra.not_like(s:str,pat:str,esc:str):bit ", "PCREnotlike3;", "" ]
[ "algebra", "orderidx", "command
algebra.orderidx(bv:bat[:any_1],stable:bit):bat[:any_1] ", "OIDXorderidx;",
"Create an order index" ]
+[ "algebra", "outerjoin", "command
algebra.outerjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGouterjoin;", "Left outer join with
candidate lists" ]
[ "algebra", "project", "pattern
algebra.project(b:bat[:any_1],v:any_3):bat[:any_3] ", "ALGprojecttail;",
"Fill the tail with a constant" ]
[ "algebra", "projection", "command
algebra.projection(left:bat[:oid],right:bat[:any_3]):bat[:any_3] ",
"ALGprojection;", "Project left input onto right input." ]
[ "algebra", "projectionpath", "pattern
algebra.projectionpath(l:bat[:any]...):bat[:any] ", "ALGprojectionpath;",
"Routine to handle join paths. The type analysis is rather tricky." ]
+[ "algebra", "rangejoin", "command
algebra.rangejoin(l:bat[:any_1],r1:bat[:any_1],r2:bat[:any_1],sl:bat[:oid],sr:bat[:oid],li:bit,hi:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGrangejoin;", "Range join: values
in l and r1/r2 match if r1 <[=] l <[=] r2" ]
[ "algebra", "reuse", "command
algebra.reuse(b:bat[:any_1]):bat[:any_1] ", "ALGreuse;", "Reuse a
temporary BAT if you can. Otherwise,\n\tallocate enough storage to accept
result of an\n \toperation (not involving the heap)" ]
+[ "algebra", "select", "command
algebra.select(b:bat[:any_1],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGselect1;", "Select all head values for which the tail value is in
range.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the tail value\n\tis
between the values low and high (inclusive if li respectively\n\thi is set).
The output BAT is sorted on the tail value. If low\n\tor high is nil, the
boundary is not considered (effectively - and\n\t+ infinity). If anti is set,
the result is the complement. Nil\n\tvalues in the tail are never matched,
unless low=nil, high=nil,\n\tli=1, hi=1, anti=0. All non-nil values are
returned if low=nil,\n\thigh=nil, and li, hi are not both 1, or anti=1.\n\tNote
that the output is suitable as second input for the other\n\tversion of this
function." ]
+[ "algebra", "select", "command
algebra.select(b:bat[:any_1],s:bat[:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGselect2;", "Select all head values of the first input BAT for
which the tail value\n\tis in range and for which the head value occurs in the
tail of the\n\tsecond input BAT.\n\tThe first input is a dense-headed BAT, the
second input is a\n\tdense-headed BAT with sorted tail, output is a
dense-headed BAT\n\twith in the tail the head value of the input BAT for which
the\n\ttail value is between the values low and high (inclusive if
li\n\trespectively hi is set). The output BAT is sorted on the tail\n\tvalue.
If low or high is nil, the boundary is not considered\n\t(effectively - and +
infinity). If anti is set, the result is the\n\tcomplement. Nil values in the
tail are never matched, unless\n\tlow=nil, high=nil, li=1, hi=1, anti=0. All
non-nil values are\n\treturned if low=nil, high=nil, and li, hi are not both 1,
or anti=1.\n\tNote that the outp
ut is suitable as second input for this\n\tfunction." ]
[ "algebra", "selectNotNil", "command
algebra.selectNotNil(b:bat[:any_2]):bat[:any_2] ", "ALGselectNotNil;",
"Select all not-nil values" ]
+[ "algebra", "semijoin", "command
algebra.semijoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsemijoin;", "Semi join with candidate
lists" ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:lng,y:lng):bat[:any_1] ", "ALGslice;",
"Return the slice with the BUNs at position x till y." ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:int,y:int):bat[:any_1] ", "ALGslice_int;",
"Return the slice with the BUNs at position x till y." ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:lng,y:lng):bat[:any_1] ", "ALGslice_lng;",
"Return the slice with the BUNs at position x till y." ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:oid,y:oid):bat[:any_1] ", "ALGslice_oid;",
"Return the slice based on head oid x till y (exclusive)." ]
-[ "algebra", "subantijoin", "function
algebra.subantijoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]);", "", "" ]
-[ "algebra", "subbandjoin", "command
algebra.subbandjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],c1:any_1,c2:any_1,li:bit,hi:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubbandjoin;", "Band join:
values in l and r match if r - c1 <[=] l <[=] r + c2" ]
-[ "algebra", "subdiff", "command
algebra.subdiff(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng):bat[:oid]
", "ALGsubdiff;", "Difference of l and r with candidate lists" ]
-[ "algebra", "subinter", "command
algebra.subinter(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng):bat[:oid]
", "ALGsubinter;", "Intersection of l and r with candidate lists (i.e.
half of semi-join)" ]
-[ "algebra", "subjoin", "command
algebra.subjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubjoin;", "Join" ]
-[ "algebra", "subleftjoin", "command
algebra.subleftjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubleftjoin;", "Left join with
candidate lists" ]
-[ "algebra", "subouterjoin", "command
algebra.subouterjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubouterjoin;", "Left outer join
with candidate lists" ]
-[ "algebra", "subrangejoin", "command
algebra.subrangejoin(l:bat[:any_1],r1:bat[:any_1],r2:bat[:any_1],sl:bat[:oid],sr:bat[:oid],li:bit,hi:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubrangejoin;", "Range join:
values in l and r1/r2 match if r1 <[=] l <[=] r2" ]
-[ "algebra", "subselect", "command
algebra.subselect(b:bat[:any_1],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGsubselect1;", "Select all head values for which the tail
value is in range.\n\tInput is a dense-headed BAT, output is a dense-headed BAT
with in\n\tthe tail the head value of the input BAT for which the tail
value\n\tis between the values low and high (inclusive if li respectively\n\thi
is set). The output BAT is sorted on the tail value. If low\n\tor high is
nil, the boundary is not considered (effectively - and\n\t+ infinity). If anti
is set, the result is the complement. Nil\n\tvalues in the tail are never
matched, unless low=nil, high=nil,\n\tli=1, hi=1, anti=0. All non-nil values
are returned if low=nil,\n\thigh=nil, and li, hi are not both 1, or
anti=1.\n\tNote that the output is suitable as second input for the
other\n\tversion of this function." ]
-[ "algebra", "subselect", "command
algebra.subselect(b:bat[:any_1],s:bat[:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGsubselect2;", "Select all head values of the first input BAT for
which the tail value\n\tis in range and for which the head value occurs in the
tail of the\n\tsecond input BAT.\n\tThe first input is a dense-headed BAT, the
second input is a\n\tdense-headed BAT with sorted tail, output is a
dense-headed BAT\n\twith in the tail the head value of the input BAT for which
the\n\ttail value is between the values low and high (inclusive if
li\n\trespectively hi is set). The output BAT is sorted on the tail\n\tvalue.
If low or high is nil, the boundary is not considered\n\t(effectively - and +
infinity). If anti is set, the result is the\n\tcomplement. Nil values in the
tail are never matched, unless\n\tlow=nil, high=nil, li=1, hi=1, anti=0. All
non-nil values are\n\treturned if low=nil, high=nil, and li, hi are not both 1,
or anti=1.\n\tNote that
the output is suitable as second input for this\n\tfunction." ]
-[ "algebra", "subsemijoin", "command
algebra.subsemijoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubsemijoin;", "Semi join with
candidate lists" ]
[ "algebra", "subslice", "command
algebra.subslice(b:bat[:any_1],x:lng,y:lng):bat[:oid] ",
"ALGsubslice_lng;", "Return the oids of the slice with the BUNs at position
x till y." ]
[ "algebra", "subsort", "command
algebra.subsort(b:bat[:any_1],reverse:bit,stable:bit):bat[:any_1] ",
"ALGsubsort11;", "Returns a copy of the BAT sorted on tail values.\n
The input and output are (must be) dense headed.\n The order is
descending if the reverse bit is set.\n\t\t This is a stable sort if the stable
bit is set." ]
[ "algebra", "subsort", "command
algebra.subsort(b:bat[:any_1],reverse:bit,stable:bit)
(X_0:bat[:any_1],X_1:bat[:oid]) ", "ALGsubsort12;", "Returns a
copy of the BAT sorted on tail values and a BAT that\n specifies how
the input was reordered.\n The input and output are (must be) dense
headed.\n The order is descending if the reverse bit is set.\n\t\t This
is a stable sort if the stable bit is set." ]
@@ -521,11 +521,11 @@ Ready.
[ "algebra", "subsort", "command
algebra.subsort(b:bat[:any_1],o:bat[:oid],g:bat[:oid],reverse:bit,stable:bit):bat[:any_1]
", "ALGsubsort31;", "Returns a copy of the BAT sorted on tail
values.\n The input and output are (must be) dense headed.\n
The order is descending if the reverse bit is set.\n\t\t This is a stable sort
if the stable bit is set." ]
[ "algebra", "subsort", "command
algebra.subsort(b:bat[:any_1],o:bat[:oid],g:bat[:oid],reverse:bit,stable:bit)
(X_0:bat[:any_1],X_1:bat[:oid]) ", "ALGsubsort32;", "Returns a
copy of the BAT sorted on tail values and a BAT that\n specifies how
the input was reordered.\n The input and output are (must be) dense
headed.\n The order is descending if the reverse bit is set.\n\t\t This
is a stable sort if the stable bit is set." ]
[ "algebra", "subsort", "command
algebra.subsort(b:bat[:any_1],o:bat[:oid],g:bat[:oid],reverse:bit,stable:bit)
(X_0:bat[:any_1],X_1:bat[:oid],X_2:bat[:oid]) ", "ALGsubsort33;",
"Returns a copy of the BAT sorted on tail values, a BAT that specifies\n
how the input was reordered, and a BAT with group information.\n The
input and output are (must be) dense headed.\n The order is descending
if the reverse bit is set.\n\t\t This is a stable sort if the stable bit is
set." ]
-[ "algebra", "subthetajoin", "command
algebra.subthetajoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],op:int,nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubthetajoin;", "Theta join
with candidate lists" ]
-[ "algebra", "subunique", "command
algebra.subunique(b:bat[:any_1]):bat[:oid] ", "ALGsubunique1;", "Select
all unique values from the tail of the input.\n\tInput is a dense-headed BAT,
output is a dense-headed BAT with\n\tin the tail the head value of the input
BAT that was selected.\n\tThe output BAT is sorted on the tail value." ]
-[ "algebra", "subunique", "command
algebra.subunique(b:bat[:any_1],s:bat[:oid]):bat[:oid] ",
"ALGsubunique2;", "Select all unique values from the tail of the first
input.\n\tInput is a dense-headed BAT, the second input is a\n\tdense-headed
BAT with sorted tail, output is a dense-headed\n\tBAT with in the tail the head
value of the input BAT that was\n\tselected. The output BAT is sorted on the
tail value. The\n\tsecond input BAT is a list of candidates." ]
-[ "algebra", "thetasubselect", "command
algebra.thetasubselect(b:bat[:any_1],val:any_1,op:str):bat[:oid] ",
"ALGthetasubselect1;", "Select all head values for which the tail value obeys
the relation\n\tvalue OP VAL.\n\tInput is a dense-headed BAT, output is a
dense-headed BAT with in\n\tthe tail the head value of the input BAT for which
the\n\trelationship holds. The output BAT is sorted on the tail value."
]
-[ "algebra", "thetasubselect", "command
algebra.thetasubselect(b:bat[:any_1],s:bat[:oid],val:any_1,op:str):bat[:oid] ",
"ALGthetasubselect2;", "Select all head values of the first input BAT
for which the tail value\n\tobeys the relation value OP VAL and for which the
head value occurs in\n\tthe tail of the second input BAT.\n\tInput is a
dense-headed BAT, output is a dense-headed BAT with in\n\tthe tail the head
value of the input BAT for which the\n\trelationship holds. The output BAT is
sorted on the tail value." ]
+[ "algebra", "thetajoin", "command
algebra.thetajoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],op:int,nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGthetajoin;", "Theta join with
candidate lists" ]
+[ "algebra", "thetaselect", "command
algebra.thetaselect(b:bat[:any_1],val:any_1,op:str):bat[:oid] ",
"ALGthetaselect1;", "Select all head values for which the tail value obeys
the relation\n\tvalue OP VAL.\n\tInput is a dense-headed BAT, output is a
dense-headed BAT with in\n\tthe tail the head value of the input BAT for which
the\n\trelationship holds. The output BAT is sorted on the tail value."
]
+[ "algebra", "thetaselect", "command
algebra.thetaselect(b:bat[:any_1],s:bat[:oid],val:any_1,op:str):bat[:oid] ",
"ALGthetaselect2;", "Select all head values of the first input BAT for
which the tail value\n\tobeys the relation value OP VAL and for which the head
value occurs in\n\tthe tail of the second input BAT.\n\tInput is a dense-headed
BAT, output is a dense-headed BAT with in\n\tthe tail the head value of the
input BAT for which the\n\trelationship holds. The output BAT is sorted on the
tail value." ]
+[ "algebra", "unique", "command
algebra.unique(b:bat[:any_1]):bat[:oid] ", "ALGunique1;", "Select all
unique values from the tail of the input.\n\tInput is a dense-headed BAT,
output is a dense-headed BAT with\n\tin the tail the head value of the input
BAT that was selected.\n\tThe output BAT is sorted on the tail value." ]
+[ "algebra", "unique", "command
algebra.unique(b:bat[:any_1],s:bat[:oid]):bat[:oid] ", "ALGunique2;", "Select
all unique values from the tail of the first input.\n\tInput is a dense-headed
BAT, the second input is a\n\tdense-headed BAT with sorted tail, output is a
dense-headed\n\tBAT with in the tail the head value of the input BAT that
was\n\tselected. The output BAT is sorted on the tail value. The\n\tsecond
input BAT is a list of candidates." ]
[ "bam", "bam_drop_file", "pattern
bam.bam_drop_file(file_id:lng,dbschema:sht):void ", "bam_drop_file;",
"Drop alignment tables and header data for the bam file with the given file_id"
]
[ "bam", "bam_export", "pattern bam.bam_export(output_path:str):void
", "bam_exportf;", "Export results in the bam.export table to a BAM
file" ]
[ "bam", "bam_flag", "command bam.bam_flag(flag:sht,name:str):bit ",
"bam_flag;", "Get bam flag by name." ]
@@ -537,6 +537,8 @@ Ready.
[ "bam", "sam_export", "pattern bam.sam_export(output_path:str):void
", "sam_exportf;", "Export results in the bam.export table to a SAM
file" ]
[ "bam", "seq_char", "command
bam.seq_char(ref_pos:int,alg_seq:str,alg_pos:int,alg_cigar:str):str ",
"seq_char;", "Calculate the character in the alignment string (alg_str) that
is aligned to position 'ref_pos', conforming to the given cigar string" ]
[ "bam", "seq_length", "command bam.seq_length(cigar:str):int ",
"seq_length;", "Calculate the real length of a DNA sequence, given its CIGAR
string." ]
+[ "bat", "append", "command
bat.append(i:bat[:any_1],u:bat[:any_1],s:bat[:oid],force:bit):bat[:any_1] ",
"BKCappend_cand_force_wrap;", "append the content of u with candidate list s
to i" ]
+[ "bat", "append", "command
bat.append(i:bat[:any_1],u:bat[:any_1],s:bat[:oid]):bat[:any_1] ",
"BKCappend_cand_wrap;", "append the content of u with candidate list s to i"
]
[ "bat", "append", "command
bat.append(i:bat[:any_1],u:bat[:any_1],force:bit):bat[:any_1] ",
"BKCappend_force_wrap;", "append the content of u to i" ]
[ "bat", "append", "command
bat.append(i:bat[:any_1],u:any_1,force:bit):bat[:any_1] ",
"BKCappend_val_force_wrap;", "append the value u to i" ]
[ "bat", "append", "command
bat.append(i:bat[:any_1],u:any_1):bat[:any_1] ", "BKCappend_val_wrap;",
"append the value u to i" ]
@@ -599,7 +601,7 @@ Ready.
[ "bat", "setColumn", "command
bat.setColumn(b:bat[:any_1],t:str):void ", "BKCsetColumn;", "Give a
logical name to the tail column of a BAT." ]
[ "bat", "setHash", "command bat.setHash(b:bat[:any_1]):bit ",
"BKCsetHash;", "Create a hash structure on the column" ]
[ "bat", "setImprints", "command bat.setImprints(b:bat[:any_1]):bit ",
"BKCsetImprints;", "Create an imprints structure on the column" ]
-[ "bat", "setKey", "command
bat.setKey(b:bat[:any_1],mode:bit):bat[:any_1] ", "BKCsetkey;", "Sets
the 'key' property of the tail column to 'mode'. In 'key' mode, \n the
kernel will silently block insertions that cause a duplicate \n entries
in the head column. KNOWN BUG:when 'key' is set to TRUE, this \n\t\tfunction
does not automatically eliminate duplicates. " ]
+[ "bat", "setKey", "command
bat.setKey(b:bat[:any_1],mode:bit):bat[:any_1] ", "BKCsetkey;", "Sets
the 'key' property of the tail column to 'mode'. In 'key' mode,\n the
kernel will silently block insertions that cause a duplicate\n entry in
the head column." ]
[ "bat", "setName", "command bat.setName(b:bat[:any_1],s:str):void
", "BKCsetName;", "Give a logical name to a BAT. " ]
[ "bat", "setPersistent", "command
bat.setPersistent(b:bat[:any_1]):void ", "BKCsetPersistent;", "Make
the BAT persistent." ]
[ "bat", "setTransient", "command bat.setTransient(b:bat[:any_1]):void
", "BKCsetTransient;", "Make the BAT transient. Returns \n\tboolean
which indicates if the\nBAT administration has indeed changed." ]
@@ -8474,8 +8476,8 @@ Ready.
[ "sql", "password", "pattern sql.password(user:str):str ",
"db_password_wrap;", "Return password hash of user" ]
[ "sql", "prelude", "command sql.prelude():void ", "SQLprelude;",
"" ]
[ "sql", "project", "command
sql.project(col:bat[:oid],l:bat[:oid],r:bat[:oid]):bat[:oid] ",
"BATleftproject;", "Last step of a left outer join, ie project the inner
join (l,r) over the left input side (col)" ]
-[ "sql", "projectdelta", "command
sql.projectdelta(subselect:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3]):bat[:any_3]
", "DELTAproject2;", "Return column bat with delta's applied." ]
-[ "sql", "projectdelta", "command
sql.projectdelta(subselect:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3],ins:bat[:any_3]):bat[:any_3]
", "DELTAproject;", "Return column bat with delta's applied." ]
+[ "sql", "projectdelta", "command
sql.projectdelta(select:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3]):bat[:any_3]
", "DELTAproject2;", "Return column bat with delta's applied."
]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list