1/*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
7 */
8
9#ifndef _OIDX_H
10#define _OIDX_H
11
12#include "mal.h"
13#include "mal_builder.h"
14#include "mal_instruction.h"
15#include "mal_interpreter.h"
16#include "mal_namespace.h"
17
18#ifdef WIN32
19#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) && !defined(LIBMAL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) && !defined(LIBMONETDB5)
20#define orderidx_export extern __declspec(dllimport)
21#else
22#define orderidx_export extern __declspec(dllexport)
23#endif
24#else
25#define orderidx_export extern
26#endif
27
28//#define _DEBUG_OIDX_
29orderidx_export str OIDXcreate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
30orderidx_export str OIDXcreateImplementation(Client cntxt, int tpe, BAT *b, int pieces);
31orderidx_export str OIDXdropImplementation(Client cntxt, BAT *b);
32orderidx_export str OIDXorderidx(bat *ret, const bat *bid, const bit *stable);
33orderidx_export str OIDXmerge(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
34orderidx_export str OIDXhasorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
35orderidx_export str OIDXgetorderidx(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
36#endif /* _OIDX_H */
37