Changeset: 54118f15ca2c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54118f15ca2c
Added Files:
        README-Debian
        README-Fedora
        sql/test/BugTracker-2018/Tests/case_with_orderby_limit.Bug-6512.sql
        
sql/test/BugTracker-2018/Tests/case_with_orderby_limit.Bug-6512.stable.err
        
sql/test/BugTracker-2018/Tests/case_with_orderby_limit.Bug-6512.stable.out
        
sql/test/BugTracker-2018/Tests/insert-null-second-interval-0.Bug-6515.sql
        
sql/test/BugTracker-2018/Tests/insert-null-second-interval-0.Bug-6515.stable.err
        
sql/test/BugTracker-2018/Tests/insert-null-second-interval-0.Bug-6515.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-algebra-join-not-in.Bug-6519.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-bat-undefined.Bug-6516.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-bat-undefined.Bug-6516.stable.err
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-bat-undefined.Bug-6516.stable.out
        sql/test/BugTracker-2018/Tests/sqlitelogictest-count-not-in.Bug-6518.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-overflow-in-conversion.Bug-6517.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-overflow-in-conversion.Bug-6517.stable.err
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-overflow-in-conversion.Bug-6517.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-range-null.Bug-6514.stable.err
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-range-null.Bug-6514.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.stable.err
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-mal-function-generation.Bug-6513.stable.err
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-mal-function-generation.Bug-6513.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-select-not-between.Bug-6511.stable.err
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-select-not-between.Bug-6511.stable.out
        sql/test/Tests/comment-dump-cleanup.sql
Modified Files:
        Makefile.ag
        NT/mksqlwxs.py
        buildtools/ChangeLog.Jul2017
        clients/Makefile.ag
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        gdk/ChangeLog
        gdk/Makefile.ag
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_atoms.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_calc.c
        gdk/gdk_hash.c
        gdk/gdk_heap.c
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_orderidx.c
        gdk/gdk_private.h
        gdk/gdk_storage.c
        gdk/gdk_tm.c
        monetdb5/ChangeLog
        monetdb5/mal/Tests/tst275.stable.out
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_profiler.c
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/mal/00_batcalc_hge.mal
        monetdb5/modules/mal/00_batcalc_hge.mal.sh
        monetdb5/modules/mal/00_calc_hge.mal
        monetdb5/modules/mal/00_calc_hge.mal.sh
        monetdb5/modules/mal/01_batcalc.mal
        monetdb5/modules/mal/01_batcalc.mal.sh
        monetdb5/modules/mal/01_calc.mal
        monetdb5/modules/mal/01_calc.mal.sh
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/pcre.mal
        monetdb5/modules/mal/tablet.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.c
        sql/backends/monet5/UDF/capi/capi.c
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_decimal.mal
        sql/backends/monet5/sql_decimal_hge.mal
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
        sql/backends/monet5/sql_upgrades.c
        sql/include/sql_relation.h
        sql/scripts/97_comments.sql
        sql/server/rel_dump.c
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_rel.c
        sql/server/rel_select.c
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out.Darwin
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out.FreeBSD
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out.Windows
        sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out
        
sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out.FreeBSD
        
sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out.Windows
        sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out
        sql/test/BugTracker-2017/Tests/spurious_error.Bug-6344.stable.out
        
sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.out
        
sql/test/BugTracker-2017/Tests/udf_crash_subquery_scalar_paramters.Bug-6399.stable.err
        sql/test/BugTracker-2018/Tests/All
        sql/test/Tests/All
        sql/test/Tests/comment-dump.SQL.py
        sql/test/Tests/comment-dump.sql
        sql/test/Tests/comment-on.sql
        sql/test/Tests/systemfunctions.stable.out
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/VOC/Tests/VOC.stable.out
        sql/test/Via-m/Tests/event_s01.stable.out
        sql/test/Via-m/Tests/event_s02.stable.out
        sql/test/Via-m/Tests/event_s03.stable.out
        sql/test/Via-m/Tests/event_s04.stable.out
        sql/test/Via-m/Tests/event_s05.stable.out
        sql/test/Via-m/Tests/event_s06.stable.out
        sql/test/Via-m/Tests/event_s07.stable.out
        sql/test/Via-m/Tests/event_s08.stable.out
        sql/test/Via-m/Tests/event_s09.stable.out
        sql/test/Via-m/Tests/event_s10.stable.out
        sql/test/Via-m/Tests/event_s11.stable.out
        sql/test/Via-m/Tests/event_s12.stable.out
        sql/test/Via-m/Tests/file_s01.stable.out
        sql/test/Via-m/Tests/file_s02.stable.out
        sql/test/Via-m/Tests/file_s03.stable.out
        sql/test/Via-m/Tests/file_s04.stable.out
        sql/test/Via-m/Tests/file_s05.stable.out
        sql/test/Via-m/Tests/file_s06.stable.out
        sql/test/Via-m/Tests/file_s07.stable.out
        sql/test/Via-m/Tests/file_s08.stable.out
        sql/test/Via-m/Tests/file_s09.stable.out
        sql/test/Via-m/Tests/file_s10.stable.out
        sql/test/Via-m/Tests/file_s11.stable.out
        sql/test/Via-m/Tests/file_s12.stable.out
        sql/test/Via-m/Tests/file_s13.stable.out
        sql/test/Via-m/Tests/file_s14.stable.out
        sql/test/Via-m/Tests/file_s15.stable.out
        sql/test/Via-m/Tests/file_s16.stable.out
        sql/test/Via-m/Tests/file_s17.stable.out
        sql/test/Via-m/Tests/file_s18.stable.out
        sql/test/Via-m/Tests/media_s03.stable.out
        sql/test/Via-m/Tests/media_s04.stable.out
        sql/test/Via-m/Tests/media_s05.stable.out
        sql/test/Via-m/Tests/media_s06.stable.out
        sql/test/Via-m/Tests/media_s07.stable.out
        sql/test/Via-m/Tests/media_s08.stable.out
        sql/test/Via-m/Tests/media_s09.stable.out
        sql/test/Via-m/Tests/media_s10.stable.out
        sql/test/Via-m/Tests/media_s11.stable.out
        sql/test/Via-m/Tests/media_s12.stable.out
        sql/test/Via-m/Tests/media_s13.stable.out
        sql/test/Via-m/Tests/media_s14.stable.out
        sql/test/Via-m/Tests/media_s15.stable.out
        sql/test/Via-m/Tests/media_s16.stable.out
        sql/test/Via-m/Tests/media_s17.stable.out
        sql/test/Via-m/Tests/media_s18.stable.out
        sql/test/Via-m/Tests/media_s19.stable.out
        sql/test/Via-m/Tests/media_s20.stable.out
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/mergetables/Tests/mergequery.stable.out
        sql/test/rdf/Tests/create_tables_t.stable.out
        sql/test/rdf/Tests/create_tables_v.stable.out
        sql/test/rdf/Tests/drop_tables_t.stable.out
        sql/test/rdf/Tests/drop_tables_v.stable.out
        sql/test/rdf/Tests/q1_t.stable.out
        sql/test/rdf/Tests/q1_v.stable.out
        sql/test/rdf/Tests/q2_28_t.stable.out
        sql/test/rdf/Tests/q2_28_v.stable.out
        sql/test/rdf/Tests/q2_t.stable.out
        sql/test/rdf/Tests/q2_v.stable.out
        sql/test/rdf/Tests/q3_28_t.stable.out
        sql/test/rdf/Tests/q3_28_v.stable.out
        sql/test/rdf/Tests/q3_t.stable.out
        sql/test/rdf/Tests/q3_v.stable.out
        sql/test/rdf/Tests/q4_28_t.stable.out
        sql/test/rdf/Tests/q4_28_v.stable.out
        sql/test/rdf/Tests/q4_t.stable.out
        sql/test/rdf/Tests/q4_v.stable.out
        sql/test/rdf/Tests/q5_t.stable.out
        sql/test/rdf/Tests/q5_v.stable.out
        sql/test/rdf/Tests/q6_28_t.stable.out
        sql/test/rdf/Tests/q6_28_v.stable.out
        sql/test/rdf/Tests/q6_t.stable.out
        sql/test/rdf/Tests/q6_v.stable.out
        sql/test/rdf/Tests/q7_t.stable.out
        sql/test/rdf/Tests/q7_v.stable.out
        sql/test/rdf/Tests/q8_t.stable.out
        sql/test/rdf/Tests/q8_v_small.stable.out
Branch: trails
Log Message:

Merge with default


diffs (truncated from 50791 to 300 lines):

diff --git a/Makefile.ag b/Makefile.ag
--- a/Makefile.ag
+++ b/Makefile.ag
@@ -13,7 +13,8 @@ SUBDIRS = buildtools common clients \
        HAVE_TESTING?testing \
 
 EXTRA_DIST = bootstrap configure configure.ac configure.ag libversions \
-                        MonetDB.spec rpm.mk.in COPYING README.rst license.txt 
HowToStart.rst
+       MonetDB.spec rpm.mk.in COPYING README.rst license.txt HowToStart.rst \
+       README-Fedora README-Debian
 
 EXTRA_DIST_DIR = NT debian MacOSX
 
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -96,9 +96,10 @@ def main():
     print(r'            <Directory Id="include" Name="include">')
     print(r'              <Directory Id="monetdb" Name="monetdb">')
     id = comp(features, id, 16,
-              [r'include\monetdb\mapi.h',
-               r'include\monetdb\stream.h',
-               r'include\monetdb\stream_socket.h'],
+              sorted([r'include\monetdb\%s' % x for x in filter(lambda x: 
(x.startswith('gdk') or x.startswith('monet') or x.startswith('mal')) and 
x.endswith('.h'), os.listdir(os.path.join(sys.argv[3], 'include', 'monetdb')))] 
+
+                     [r'include\monetdb\mapi.h',
+                      r'include\monetdb\stream.h',
+                      r'include\monetdb\stream_socket.h']),
               vital = 'no')
     print(r'              </Directory>')
     print(r'            </Directory>')
@@ -118,7 +119,9 @@ def main():
               [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: 
x.startswith('lib_') and x.endswith('.dll') and ('geom' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
     print(r'              </Directory>')
     id = comp(features, id, 14,
-              [r'lib\libmapi.lib',
+              [r'lib\libbat.lib',
+               r'lib\libmapi.lib',
+               r'lib\libmonetdb5.lib',
                r'lib\libstream.lib',
                r'%s\lib\iconv.lib' % makedefs['LIBICONV'],
                r'%s\lib\libbz2.lib' % makedefs['LIBBZIP2'],
diff --git a/README-Debian b/README-Debian
new file mode 100644
--- /dev/null
+++ b/README-Debian
@@ -0,0 +1,41 @@
+The following packages (DEBs) are or can be used by MonetDB.
+
+These packages are required.
+
+automake
+bison
+gettext
+libssl-dev
+libtool
+libxml2-dev
+m4
+make
+mercurial
+pkg-config
+
+These packages are optional, but required when building the MonetDB
+.deb packages.
+
+libatomic-ops-dev      # optional, but recommended
+libbam-dev             # optional: read BAM and SAM files
+libbz2-dev             # optional: read and write .bz2 compressed files
+libcurl4-gnutls-dev    # optional: read remote files with sys.getcontent(url)
+libgeos-dev            # optional: required for geom module
+liblas-c-dev           # optional: read LIDAR files
+liblzma-dev            # optional: read and write .xz compressed files
+libpcre3-dev           # optional: use PCRE library, enable some functions
+libreadline-dev                # optional, enable editing in mclient
+python-dev             # optional, needed for Python 2 integration
+python-numpy           # optional, needed for Python 2 integration
+r-base                 # optional, needed for R integration
+unixodbc-dev           # optional, needed for ODBC driver
+uuid-dev               # optional
+zlib1g-dev             # optional: read and write .gz compressed files
+
+These packages are optional.
+
+libcfitsio-dev         # optional: read FITS files
+liblz4-dev             # optional: compression in new (unused) MAPI protocol
+libsnappy-dev          # optional: compression in new (unused) MAPI protocol
+python3-dev            # optional, needed for Python 3 integration
+python3-numpy          # optional, needed for Python 3 integration
diff --git a/README-Fedora b/README-Fedora
new file mode 100644
--- /dev/null
+++ b/README-Fedora
@@ -0,0 +1,45 @@
+The following packages (RPMs) are or can be used by MonetDB.
+
+These packages are required.
+
+bison
+gettext-devel
+libtool
+libxml2-devel
+mercurial
+openssl-devel
+pkgconf-m4
+pkgconf-pkg-config
+
+These packages are optional, but they are required to build RPMs using
+the command make rpm.
+
+bzip2-devel            # optional: read and write .bz2 compressed files
+bzip2                  # optional, required to create a tar ball (make dist)
+checkpolicy            # optional, required to create RPMs (make rpm)
+geos-devel             # optional: required for geom module
+libatomic_ops-devel    # optional but recommended
+libcurl-devel          # optional: read remote files with sys.getcontent(url)
+libuuid-devel          # optional
+pcre-devel             # optional: use PCRE library, enable some functions
+python2-devel          # optional, needed for Python 2 integration
+python2-numpy          # optional, needed for Python 2 integration
+R-core-devel           # optional, needed for R integration
+readline-devel         # optional, enable editing in mclient
+rpm-build              # optional, required to create RPMs (make rpm)
+samtools-devel         # optional: read BAM and SAM files
+selinux-policy-devel   # optional, required to create RPMs (make rpm)
+unixODBC-devel         # optional, needed for ODBC driver
+
+These packages are optional.
+
+cfitsio-devel          # optional: read FITS files
+libasan                        # optional: --enable-sanitizer configuration 
(debug)
+liblas-devel           # optional: read LIDAR files
+lz4-devel              # optional: compression in new (unused) MAPI protocol
+netcdf-devel           # optional: read NetCDF files
+proj-devel             # optional, only optionally used in geom module
+python3-devel          # optional, needed for Python 3 integration
+python3-numpy          # optional, needed for Python 3 integration
+snappy-devel           # optional: compression in new (unused) MAPI protocol
+valgrind-devel         # optional: --with-valgrind configuration (debug)
diff --git a/buildtools/ChangeLog.Jul2017 b/buildtools/ChangeLog.Jul2017
--- a/buildtools/ChangeLog.Jul2017
+++ b/buildtools/ChangeLog.Jul2017
@@ -1,3 +1,7 @@
 # ChangeLog file for buildtools
 # This file is updated with Maddlog
 
+* Tue Jan 16 2018 Sjoerd Mullender <sjo...@acm.org>
+- Added the .lib and .h files needed for building extensions to the
+  Windows installer.
+
diff --git a/clients/Makefile.ag b/clients/Makefile.ag
--- a/clients/Makefile.ag
+++ b/clients/Makefile.ag
@@ -4,6 +4,6 @@
 #
 # Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V.
 
-SUBDIRS = HAVE_MAPI?mapilib HAVE_MAPI?mapiclient HAVE_ODBC?odbc examples 
NATIVE_WIN32?NT
+SUBDIRS = HAVE_MAPI?mapilib HAVE_MAPI?mapiclient HAVE_ODBC?odbc 
HAVE_MAPI?examples NATIVE_WIN32?NT
 
 EXTRA_DIST_DIR = Tests ruby R
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
@@ -898,17 +898,41 @@ Ready.
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:timestamp, 
b:bat[:timestamp]):bat[:bit] ",        "CMDbatNE;",    "Return V != B" ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(v:timestamp, b:bat[:timestamp], 
s:bat[:oid]):bat[:bit] ",   "CMDbatNE;",    "Return V != B with candidates 
list"    ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:bte]):bat[:bte] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:bte]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:bte]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:bte]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:bte], 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:bte], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:bte], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:bte], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:dbl]):bat[:dbl] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:dbl], 
s:bat[:oid]):bat[:dbl] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:flt]):bat[:flt] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:flt], 
s:bat[:oid]):bat[:flt] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:int]):bat[:bte] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:int]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:int]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:int]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:int], 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:int], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:int], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:int], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:lng]):bat[:bte] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:lng]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:lng]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:lng]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:lng], 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:lng], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:lng], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:lng], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:sht]):bat[:bte] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:sht]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:sht]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], 
b2:bat[:sht]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:sht], 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:sht], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:sht], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:bte], b2:bat[:sht], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:dbl], 
b2:bat[:bte]):bat[:dbl] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:dbl], b2:bat[:bte], 
s:bat[:oid]):bat[:dbl] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:dbl], 
b2:bat[:dbl]):bat[:dbl] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
@@ -934,53 +958,121 @@ Ready.
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:flt], 
b2:bat[:sht]):bat[:flt] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:flt], b2:bat[:sht], 
s:bat[:oid]):bat[:flt] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:bte]):bat[:bte] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:bte]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:bte]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:bte]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:bte], 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:bte], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:bte], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:bte], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:dbl]):bat[:dbl] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:dbl], 
s:bat[:oid]):bat[:dbl] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:flt]):bat[:flt] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:flt], 
s:bat[:oid]):bat[:flt] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:int]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:int]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:int], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:int], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:lng]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:lng]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:lng], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:lng], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:sht]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:sht]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], 
b2:bat[:sht]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:sht], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:sht], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:int], b2:bat[:sht], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:bte]):bat[:bte] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:bte]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:bte]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:bte]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:bte], 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:bte], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:bte], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:bte], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:dbl]):bat[:dbl] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:dbl], 
s:bat[:oid]):bat[:dbl] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:flt]):bat[:flt] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:flt], 
s:bat[:oid]):bat[:flt] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:int]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:int]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:int], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:int], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:lng]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:lng], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:sht]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:sht]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], 
b2:bat[:sht]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:sht], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:sht], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:lng], b2:bat[:sht], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:bte]):bat[:bte] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:bte]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:bte]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:bte]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:bte], 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:bte], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:bte], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:bte], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:dbl]):bat[:dbl] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:dbl], 
s:bat[:oid]):bat[:dbl] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:flt]):bat[:flt] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:flt], 
s:bat[:oid]):bat[:flt] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:int]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:int]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:int]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:int], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:int], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:int], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:lng]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:lng]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:lng]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:lng], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:sht]):bat[:int] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:sht]):bat[:lng] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], 
b2:bat[:sht]):bat[:sht] ",     "CMDbatMODsignal;",     "Return B1 % B2, signal 
error on divide by zero"        ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
+[ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b1:bat[:sht], b2:bat[:sht], 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B1 % B2 with 
candidates list, signal error on divide by zero"   ]
 [ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte):bat[:bte] ",     
"CMDbatMODsignal;",     "Return B % V, signal error on divide by zero"  ]
+[ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte):bat[:int] ",     
"CMDbatMODsignal;",     "Return B % V, signal error on divide by zero"  ]
+[ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte):bat[:lng] ",     
"CMDbatMODsignal;",     "Return B % V, signal error on divide by zero"  ]
+[ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte):bat[:sht] ",     
"CMDbatMODsignal;",     "Return B % V, signal error on divide by zero"  ]
 [ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte, 
s:bat[:oid]):bat[:bte] ",        "CMDbatMODsignal;",     "Return B % V with 
candidates list, signal error on divide by zero"     ]
+[ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte, 
s:bat[:oid]):bat[:int] ",        "CMDbatMODsignal;",     "Return B % V with 
candidates list, signal error on divide by zero"     ]
+[ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte, 
s:bat[:oid]):bat[:lng] ",        "CMDbatMODsignal;",     "Return B % V with 
candidates list, signal error on divide by zero"     ]
+[ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:bte, 
s:bat[:oid]):bat[:sht] ",        "CMDbatMODsignal;",     "Return B % V with 
candidates list, signal error on divide by zero"     ]
 [ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:dbl):bat[:dbl] ",     
"CMDbatMODsignal;",     "Return B % V, signal error on divide by zero"  ]
 [ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:dbl, 
s:bat[:oid]):bat[:dbl] ",        "CMDbatMODsignal;",     "Return B % V with 
candidates list, signal error on divide by zero"     ]
 [ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:flt):bat[:flt] ",     
"CMDbatMODsignal;",     "Return B % V, signal error on divide by zero"  ]
 [ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:flt, 
s:bat[:oid]):bat[:flt] ",        "CMDbatMODsignal;",     "Return B % V with 
candidates list, signal error on divide by zero"     ]
 [ "batcalc",   "%",    "pattern batcalc.%(b:bat[:bte], v:int):bat[:bte] ",     
"CMDbatMODsignal;",     "Return B % V, signal error on divide by zero"  ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to