# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0.  If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.

pattern bat.new(tt:any_1) :bat[:any_1]
address CMDBATnew;
pattern bat.new(tt:any_1, size:int) :bat[:any_1]
address CMDBATnew;
pattern bat.new(tt:any_1, size:lng, persist:bit) :bat[:any_1]
address CMDBATnew;
pattern bat.new(tt:any_1, size:int, persist:bit) :bat[:any_1]
address CMDBATnew;
pattern bat.new(tt:any_1, size:lng) :bat[:any_1]
address CMDBATnew
comment "Creates a new empty transient BAT, with tail-types as indicated.";

pattern bat.single(val:any_1):bat[:any_1]
address CMDBATsingle
comment "Create a BAT with a single elemenet";

pattern bat.partition(b:bat[:any_1]):bat[:any_1]...
address CMDBATpartition
comment "Create a serie of slices over the BAT argument. The BUNs are distributed evenly.";

pattern bat.partition(b:bat[:any_1], pieces:int, n:int):bat[:any_1]
address CMDBATpartition2
comment "Create the n-th slice over the BAT broken into several pieces.";

command bat.imprints(b:bat[:bte]) :void
address CMDBATimprints;
command bat.imprints(b:bat[:sht]) :void
address CMDBATimprints;
command bat.imprints(b:bat[:int]) :void
address CMDBATimprints;
command bat.imprints(b:bat[:lng]) :void
address CMDBATimprints;
command bat.imprints(b:bat[:flt]) :void
address CMDBATimprints;
command bat.imprints(b:bat[:dbl]) :void
address CMDBATimprints
comment "Check for existence or create an imprint index on the BAT.";

command bat.imprintsize(b:bat[:bte]):lng
address CMDBATimprintsize;
command bat.imprintsize(b:bat[:sht]):lng
address CMDBATimprintsize;
command bat.imprintsize(b:bat[:int]):lng
address CMDBATimprintsize;
command bat.imprintsize(b:bat[:lng]):lng
address CMDBATimprintsize;
command bat.imprintsize(b:bat[:flt]):lng
address CMDBATimprintsize;
command bat.imprintsize(b:bat[:dbl]):lng
address CMDBATimprintsize
comment "Return the storage size of the imprints index structure.";

