You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-12-24 14:20:59 +03:00
the begginning
This commit is contained in:
96
writeengine/wrapper/Makefile
Executable file
96
writeengine/wrapper/Makefile
Executable file
@@ -0,0 +1,96 @@
|
||||
include ../../rules.mak
|
||||
include ../build/we_rules.mak
|
||||
#******************************************************************************************
|
||||
# $Id: Makefile 4589 2013-04-02 14:41:08Z rdempsey $
|
||||
#
|
||||
# Copyright (C) 2009-2013 Calpont Corporation
|
||||
# All rights reserved
|
||||
#*****************************************************************************************/
|
||||
|
||||
.PHONY: install clean test docs coverage leakcheck
|
||||
|
||||
PROGRAM=libwriteengine.so
|
||||
VERSION=1.0.0
|
||||
LIBRARY=$(PROGRAM).$(VERSION)
|
||||
|
||||
TLIBS+=-lwriteengine
|
||||
GLIBS=$(TLIBS)
|
||||
|
||||
LLIBS=-L$(CALPONT_LIBRARY_PATH) -lbrm -lcacheutils
|
||||
|
||||
SRCS=writeengine.cpp we_colop.cpp we_colopcompress.cpp we_dctnrycompress.cpp we_tablemetadata.cpp
|
||||
LINCLUDES=writeengine.h we_colop.h we_colopcompress.h we_dctnrycompress.h we_tablemetadata.h
|
||||
OBJS=$(SRCS:.cpp=.o)
|
||||
|
||||
LOBJS=$(LOBJS_SHARED) $(LOBJS_DCTNRY) $(LOBJS_XML)
|
||||
GOBJS=$(LOBJS:.o=-gcov.o)
|
||||
|
||||
$(LIBRARY): $(OBJS) $(LOBJS)
|
||||
$(LINK.cpp) -shared -o $(LIBRARY) $(OBJS) $(LOBJS)
|
||||
rm -f $(PROGRAM)
|
||||
ln -s $(LIBRARY) $(PROGRAM)
|
||||
make install
|
||||
|
||||
install: bootstrap
|
||||
umask 002; \
|
||||
mkdir -p $(INSTALL_ROOT_LIB) $(INSTALL_ROOT_INCLUDE); \
|
||||
pushd $(INSTALL_ROOT_LIB) >/dev/null; \
|
||||
rm -f $(LIBRARY) $(PROGRAM); \
|
||||
ln -s $(LIBRARY) $(PROGRAM); \
|
||||
popd >/dev/null; \
|
||||
$(INSTALL) $(LIBRARY) $(INSTALL_ROOT_LIB)
|
||||
|
||||
bootstrap:
|
||||
$(INSTALL) $(LINCLUDES) $(INSTALL_ROOT_INCLUDE)
|
||||
|
||||
|
||||
clean:
|
||||
rm -f $(LIBDIR)/tdriver.o $(OBJS) tdriver.o $(PROGRAM) $(LIBRARY) tdriver core *~ *.tag *-gcov.* *.gcov tdriver-gcov *.d *.swp *.dat
|
||||
rm -rf html
|
||||
|
||||
docs:
|
||||
doxygen $(EXPORT_ROOT)/etc/Doxyfile
|
||||
|
||||
tdriver: tdriver.o
|
||||
$(LINK.cpp) -o $@ $^ $(TLIBS)
|
||||
|
||||
test:
|
||||
|
||||
xtest: $(LIBRARY) tdriver
|
||||
$(IPCS_CLEANUP)
|
||||
LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver
|
||||
|
||||
%-gcov.o: %.cpp
|
||||
$(COMPILE.cpp) -o $@ $^
|
||||
|
||||
tdriver-gcov: CXXFLAGS+=-fprofile-arcs -ftest-coverage
|
||||
tdriver-gcov: tdriver-gcov.o $(subst .o,-gcov.o,$(OBJS))
|
||||
$(LINK.cpp) -o $@ $^ $(GLIBS) $(GOBJS)
|
||||
|
||||
coverage:
|
||||
|
||||
xcoverage: tdriver-gcov
|
||||
$(IPCS_CLEANUP)
|
||||
rm -f *.gcda
|
||||
LD_LIBRARY_PATH=$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver-gcov
|
||||
for file in $(SRCS); do \
|
||||
bfile=`basename $$file .cpp`; \
|
||||
gcov -o $${bfile}-gcov $$file >/dev/null; \
|
||||
done
|
||||
/usr/local/bin/genCoverage.pl $(SRCS)
|
||||
|
||||
leakcheck:
|
||||
|
||||
xleakcheck: $(LIBRARY) tdriver
|
||||
$(IPCS_CLEANUP)
|
||||
LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib valgrind --tool=memcheck --leak-check=yes ./tdriver
|
||||
|
||||
%.d: %.cpp
|
||||
@set -e; rm -f $@; \
|
||||
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
|
||||
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
||||
rm -f $@.$$$$
|
||||
|
||||
ifndef BOOTSTRAP
|
||||
-include $(SRCS:.cpp=.d) tdriver.d
|
||||
endif
|
||||
69
writeengine/wrapper/Makefile.am
Normal file
69
writeengine/wrapper/Makefile.am
Normal file
@@ -0,0 +1,69 @@
|
||||
# Copyright (C) 2014 InfiniDB, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; version 2 of
|
||||
# the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
# MA 02110-1301, USA.
|
||||
|
||||
# $Id: Makefile.am 3720 2012-04-04 18:18:49Z rdempsey $
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
AM_CPPFLAGS = $(idb_cppflags) $(idb_common_includes)
|
||||
AM_CFLAGS = $(idb_cflags)
|
||||
AM_CXXFLAGS = $(idb_cxxflags)
|
||||
AM_LDFLAGS = $(idb_ldflags)
|
||||
lib_LTLIBRARIES = libwriteengine.la
|
||||
libwriteengine_la_SOURCES = writeengine.cpp \
|
||||
we_colop.cpp \
|
||||
we_colopcompress.cpp \
|
||||
we_dctnrycompress.cpp \
|
||||
we_tablemetadata.cpp \
|
||||
../shared/we_blockop.cpp \
|
||||
../shared/we_brm.cpp \
|
||||
../shared/we_cache.cpp \
|
||||
../shared/we_chunkmanager.cpp \
|
||||
../shared/we_config.cpp \
|
||||
../shared/we_convertor.cpp \
|
||||
../shared/we_dbfileop.cpp \
|
||||
../shared/we_define.cpp \
|
||||
../shared/we_fileop.cpp \
|
||||
../shared/we_log.cpp \
|
||||
../shared/we_stats.cpp \
|
||||
../shared/we_bulkrollbackmgr.cpp \
|
||||
../shared/we_simplesyslog.cpp \
|
||||
../shared/we_bulkrollbackfilecompressed.cpp \
|
||||
../shared/we_bulkrollbackfilecompressedhdfs.cpp \
|
||||
../shared/we_bulkrollbackfile.cpp \
|
||||
../shared/we_rbmetawriter.cpp \
|
||||
../shared/we_dbrootextenttracker.cpp \
|
||||
../shared/we_confirmhdfsdbfile.cpp \
|
||||
../dictionary/we_dctnry.cpp \
|
||||
../xml/we_xmlop.cpp \
|
||||
../xml/we_xmljob.cpp \
|
||||
../xml/we_xmlgendata.cpp \
|
||||
../xml/we_xmlgenproc.cpp
|
||||
libwriteengine_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS)
|
||||
libwriteengine_la_CPPFLAGS = -D_FILE_OFFSET_BITS=64 $(AM_CPPFLAGS)
|
||||
libwriteengine_la_LIBADD =
|
||||
include_HEADERS = writeengine.h we_colop.h we_colopcompress.h we_dctnrycompress.h we_tablemetadata.h
|
||||
|
||||
test:
|
||||
|
||||
coverage:
|
||||
|
||||
leakcheck:
|
||||
|
||||
docs:
|
||||
|
||||
bootstrap: install-data-am
|
||||
|
||||
830
writeengine/wrapper/Makefile.in
Normal file
830
writeengine/wrapper/Makefile.in
Normal file
@@ -0,0 +1,830 @@
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# Copyright (C) 2014 InfiniDB, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; version 2 of
|
||||
# the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
# MA 02110-1301, USA.
|
||||
|
||||
# $Id: Makefile.am 3720 2012-04-04 18:18:49Z rdempsey $
|
||||
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ../..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = writeengine/wrapper
|
||||
DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/compilerflags.m4 \
|
||||
$(top_srcdir)/m4/functions.m4 $(top_srcdir)/m4/install.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
|
||||
libLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
libwriteengine_la_DEPENDENCIES =
|
||||
am_libwriteengine_la_OBJECTS = libwriteengine_la-writeengine.lo \
|
||||
libwriteengine_la-we_colop.lo \
|
||||
libwriteengine_la-we_colopcompress.lo \
|
||||
libwriteengine_la-we_dctnrycompress.lo \
|
||||
libwriteengine_la-we_tablemetadata.lo \
|
||||
libwriteengine_la-we_blockop.lo libwriteengine_la-we_brm.lo \
|
||||
libwriteengine_la-we_cache.lo \
|
||||
libwriteengine_la-we_chunkmanager.lo \
|
||||
libwriteengine_la-we_config.lo \
|
||||
libwriteengine_la-we_convertor.lo \
|
||||
libwriteengine_la-we_dbfileop.lo \
|
||||
libwriteengine_la-we_define.lo libwriteengine_la-we_fileop.lo \
|
||||
libwriteengine_la-we_log.lo libwriteengine_la-we_stats.lo \
|
||||
libwriteengine_la-we_bulkrollbackmgr.lo \
|
||||
libwriteengine_la-we_simplesyslog.lo \
|
||||
libwriteengine_la-we_bulkrollbackfilecompressed.lo \
|
||||
libwriteengine_la-we_bulkrollbackfilecompressedhdfs.lo \
|
||||
libwriteengine_la-we_bulkrollbackfile.lo \
|
||||
libwriteengine_la-we_rbmetawriter.lo \
|
||||
libwriteengine_la-we_dbrootextenttracker.lo \
|
||||
libwriteengine_la-we_confirmhdfsdbfile.lo \
|
||||
libwriteengine_la-we_dctnry.lo libwriteengine_la-we_xmlop.lo \
|
||||
libwriteengine_la-we_xmljob.lo \
|
||||
libwriteengine_la-we_xmlgendata.lo \
|
||||
libwriteengine_la-we_xmlgenproc.lo
|
||||
libwriteengine_la_OBJECTS = $(am_libwriteengine_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
CXXLD = $(CXX)
|
||||
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
||||
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(libwriteengine_la_SOURCES)
|
||||
DIST_SOURCES = $(libwriteengine_la_SOURCES)
|
||||
includeHEADERS_INSTALL = $(INSTALL_HEADER)
|
||||
HEADERS = $(include_HEADERS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ALLOCA = @ALLOCA@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
POW_LIB = @POW_LIB@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XML2_CONFIG = @XML2_CONFIG@
|
||||
XML_CPPFLAGS = @XML_CPPFLAGS@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
YACC = @YACC@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
etcdir = @etcdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
idb_brm_libs = @idb_brm_libs@
|
||||
idb_cflags = @idb_cflags@
|
||||
idb_common_includes = @idb_common_includes@
|
||||
idb_common_ldflags = @idb_common_ldflags@
|
||||
idb_common_libs = @idb_common_libs@
|
||||
idb_cppflags = @idb_cppflags@
|
||||
idb_cxxflags = @idb_cxxflags@
|
||||
idb_exec_libs = @idb_exec_libs@
|
||||
idb_ldflags = @idb_ldflags@
|
||||
idb_oam_libs = @idb_oam_libs@
|
||||
idb_write_libs = @idb_write_libs@
|
||||
idbinstall = @idbinstall@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localdir = @localdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
march_flags = @march_flags@
|
||||
mibdir = @mibdir@
|
||||
mkdir_p = @mkdir_p@
|
||||
mysqldir = @mysqldir@
|
||||
netsnmp_libs = @netsnmp_libs@
|
||||
netsnmpagntdir = @netsnmpagntdir@
|
||||
netsnmpdir = @netsnmpdir@
|
||||
netsnmplibrdir = @netsnmplibrdir@
|
||||
netsnmpmachdir = @netsnmpmachdir@
|
||||
netsnmpsysdir = @netsnmpsysdir@
|
||||
oldincludedir = @oldincludedir@
|
||||
postdir = @postdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedir = @sharedir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
toolsdir = @toolsdir@
|
||||
AM_CPPFLAGS = $(idb_cppflags) $(idb_common_includes)
|
||||
AM_CFLAGS = $(idb_cflags)
|
||||
AM_CXXFLAGS = $(idb_cxxflags)
|
||||
AM_LDFLAGS = $(idb_ldflags)
|
||||
lib_LTLIBRARIES = libwriteengine.la
|
||||
libwriteengine_la_SOURCES = writeengine.cpp \
|
||||
we_colop.cpp \
|
||||
we_colopcompress.cpp \
|
||||
we_dctnrycompress.cpp \
|
||||
we_tablemetadata.cpp \
|
||||
../shared/we_blockop.cpp \
|
||||
../shared/we_brm.cpp \
|
||||
../shared/we_cache.cpp \
|
||||
../shared/we_chunkmanager.cpp \
|
||||
../shared/we_config.cpp \
|
||||
../shared/we_convertor.cpp \
|
||||
../shared/we_dbfileop.cpp \
|
||||
../shared/we_define.cpp \
|
||||
../shared/we_fileop.cpp \
|
||||
../shared/we_log.cpp \
|
||||
../shared/we_stats.cpp \
|
||||
../shared/we_bulkrollbackmgr.cpp \
|
||||
../shared/we_simplesyslog.cpp \
|
||||
../shared/we_bulkrollbackfilecompressed.cpp \
|
||||
../shared/we_bulkrollbackfilecompressedhdfs.cpp \
|
||||
../shared/we_bulkrollbackfile.cpp \
|
||||
../shared/we_rbmetawriter.cpp \
|
||||
../shared/we_dbrootextenttracker.cpp \
|
||||
../shared/we_confirmhdfsdbfile.cpp \
|
||||
../dictionary/we_dctnry.cpp \
|
||||
../xml/we_xmlop.cpp \
|
||||
../xml/we_xmljob.cpp \
|
||||
../xml/we_xmlgendata.cpp \
|
||||
../xml/we_xmlgenproc.cpp
|
||||
|
||||
libwriteengine_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS)
|
||||
libwriteengine_la_CPPFLAGS = -D_FILE_OFFSET_BITS=64 $(AM_CPPFLAGS)
|
||||
libwriteengine_la_LIBADD =
|
||||
include_HEADERS = writeengine.h we_colop.h we_colopcompress.h we_dctnrycompress.h we_tablemetadata.h
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .cpp .lo .o .obj
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu writeengine/wrapper/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu writeengine/wrapper/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p=$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
libwriteengine.la: $(libwriteengine_la_OBJECTS) $(libwriteengine_la_DEPENDENCIES)
|
||||
$(CXXLINK) -rpath $(libdir) $(libwriteengine_la_LDFLAGS) $(libwriteengine_la_OBJECTS) $(libwriteengine_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_blockop.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_brm.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_bulkrollbackfile.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressed.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressedhdfs.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_bulkrollbackmgr.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_cache.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_chunkmanager.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_colop.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_colopcompress.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_config.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_confirmhdfsdbfile.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_convertor.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_dbfileop.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_dbrootextenttracker.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_dctnry.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_dctnrycompress.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_define.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_fileop.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_log.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_rbmetawriter.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_simplesyslog.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_stats.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_tablemetadata.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_xmlgendata.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_xmlgenproc.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_xmljob.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-we_xmlop.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwriteengine_la-writeengine.Plo@am__quote@
|
||||
|
||||
.cpp.o:
|
||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
||||
|
||||
.cpp.obj:
|
||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.cpp.lo:
|
||||
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
|
||||
|
||||
libwriteengine_la-writeengine.lo: writeengine.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-writeengine.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-writeengine.Tpo" -c -o libwriteengine_la-writeengine.lo `test -f 'writeengine.cpp' || echo '$(srcdir)/'`writeengine.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-writeengine.Tpo" "$(DEPDIR)/libwriteengine_la-writeengine.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-writeengine.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='writeengine.cpp' object='libwriteengine_la-writeengine.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-writeengine.lo `test -f 'writeengine.cpp' || echo '$(srcdir)/'`writeengine.cpp
|
||||
|
||||
libwriteengine_la-we_colop.lo: we_colop.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_colop.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_colop.Tpo" -c -o libwriteengine_la-we_colop.lo `test -f 'we_colop.cpp' || echo '$(srcdir)/'`we_colop.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_colop.Tpo" "$(DEPDIR)/libwriteengine_la-we_colop.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_colop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='we_colop.cpp' object='libwriteengine_la-we_colop.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_colop.lo `test -f 'we_colop.cpp' || echo '$(srcdir)/'`we_colop.cpp
|
||||
|
||||
libwriteengine_la-we_colopcompress.lo: we_colopcompress.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_colopcompress.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_colopcompress.Tpo" -c -o libwriteengine_la-we_colopcompress.lo `test -f 'we_colopcompress.cpp' || echo '$(srcdir)/'`we_colopcompress.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_colopcompress.Tpo" "$(DEPDIR)/libwriteengine_la-we_colopcompress.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_colopcompress.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='we_colopcompress.cpp' object='libwriteengine_la-we_colopcompress.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_colopcompress.lo `test -f 'we_colopcompress.cpp' || echo '$(srcdir)/'`we_colopcompress.cpp
|
||||
|
||||
libwriteengine_la-we_dctnrycompress.lo: we_dctnrycompress.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_dctnrycompress.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_dctnrycompress.Tpo" -c -o libwriteengine_la-we_dctnrycompress.lo `test -f 'we_dctnrycompress.cpp' || echo '$(srcdir)/'`we_dctnrycompress.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_dctnrycompress.Tpo" "$(DEPDIR)/libwriteengine_la-we_dctnrycompress.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_dctnrycompress.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='we_dctnrycompress.cpp' object='libwriteengine_la-we_dctnrycompress.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_dctnrycompress.lo `test -f 'we_dctnrycompress.cpp' || echo '$(srcdir)/'`we_dctnrycompress.cpp
|
||||
|
||||
libwriteengine_la-we_tablemetadata.lo: we_tablemetadata.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_tablemetadata.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_tablemetadata.Tpo" -c -o libwriteengine_la-we_tablemetadata.lo `test -f 'we_tablemetadata.cpp' || echo '$(srcdir)/'`we_tablemetadata.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_tablemetadata.Tpo" "$(DEPDIR)/libwriteengine_la-we_tablemetadata.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_tablemetadata.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='we_tablemetadata.cpp' object='libwriteengine_la-we_tablemetadata.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_tablemetadata.lo `test -f 'we_tablemetadata.cpp' || echo '$(srcdir)/'`we_tablemetadata.cpp
|
||||
|
||||
libwriteengine_la-we_blockop.lo: ../shared/we_blockop.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_blockop.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_blockop.Tpo" -c -o libwriteengine_la-we_blockop.lo `test -f '../shared/we_blockop.cpp' || echo '$(srcdir)/'`../shared/we_blockop.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_blockop.Tpo" "$(DEPDIR)/libwriteengine_la-we_blockop.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_blockop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_blockop.cpp' object='libwriteengine_la-we_blockop.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_blockop.lo `test -f '../shared/we_blockop.cpp' || echo '$(srcdir)/'`../shared/we_blockop.cpp
|
||||
|
||||
libwriteengine_la-we_brm.lo: ../shared/we_brm.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_brm.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_brm.Tpo" -c -o libwriteengine_la-we_brm.lo `test -f '../shared/we_brm.cpp' || echo '$(srcdir)/'`../shared/we_brm.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_brm.Tpo" "$(DEPDIR)/libwriteengine_la-we_brm.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_brm.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_brm.cpp' object='libwriteengine_la-we_brm.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_brm.lo `test -f '../shared/we_brm.cpp' || echo '$(srcdir)/'`../shared/we_brm.cpp
|
||||
|
||||
libwriteengine_la-we_cache.lo: ../shared/we_cache.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_cache.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_cache.Tpo" -c -o libwriteengine_la-we_cache.lo `test -f '../shared/we_cache.cpp' || echo '$(srcdir)/'`../shared/we_cache.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_cache.Tpo" "$(DEPDIR)/libwriteengine_la-we_cache.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_cache.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_cache.cpp' object='libwriteengine_la-we_cache.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_cache.lo `test -f '../shared/we_cache.cpp' || echo '$(srcdir)/'`../shared/we_cache.cpp
|
||||
|
||||
libwriteengine_la-we_chunkmanager.lo: ../shared/we_chunkmanager.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_chunkmanager.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_chunkmanager.Tpo" -c -o libwriteengine_la-we_chunkmanager.lo `test -f '../shared/we_chunkmanager.cpp' || echo '$(srcdir)/'`../shared/we_chunkmanager.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_chunkmanager.Tpo" "$(DEPDIR)/libwriteengine_la-we_chunkmanager.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_chunkmanager.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_chunkmanager.cpp' object='libwriteengine_la-we_chunkmanager.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_chunkmanager.lo `test -f '../shared/we_chunkmanager.cpp' || echo '$(srcdir)/'`../shared/we_chunkmanager.cpp
|
||||
|
||||
libwriteengine_la-we_config.lo: ../shared/we_config.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_config.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_config.Tpo" -c -o libwriteengine_la-we_config.lo `test -f '../shared/we_config.cpp' || echo '$(srcdir)/'`../shared/we_config.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_config.Tpo" "$(DEPDIR)/libwriteengine_la-we_config.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_config.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_config.cpp' object='libwriteengine_la-we_config.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_config.lo `test -f '../shared/we_config.cpp' || echo '$(srcdir)/'`../shared/we_config.cpp
|
||||
|
||||
libwriteengine_la-we_convertor.lo: ../shared/we_convertor.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_convertor.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_convertor.Tpo" -c -o libwriteengine_la-we_convertor.lo `test -f '../shared/we_convertor.cpp' || echo '$(srcdir)/'`../shared/we_convertor.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_convertor.Tpo" "$(DEPDIR)/libwriteengine_la-we_convertor.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_convertor.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_convertor.cpp' object='libwriteengine_la-we_convertor.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_convertor.lo `test -f '../shared/we_convertor.cpp' || echo '$(srcdir)/'`../shared/we_convertor.cpp
|
||||
|
||||
libwriteengine_la-we_dbfileop.lo: ../shared/we_dbfileop.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_dbfileop.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_dbfileop.Tpo" -c -o libwriteengine_la-we_dbfileop.lo `test -f '../shared/we_dbfileop.cpp' || echo '$(srcdir)/'`../shared/we_dbfileop.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_dbfileop.Tpo" "$(DEPDIR)/libwriteengine_la-we_dbfileop.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_dbfileop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_dbfileop.cpp' object='libwriteengine_la-we_dbfileop.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_dbfileop.lo `test -f '../shared/we_dbfileop.cpp' || echo '$(srcdir)/'`../shared/we_dbfileop.cpp
|
||||
|
||||
libwriteengine_la-we_define.lo: ../shared/we_define.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_define.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_define.Tpo" -c -o libwriteengine_la-we_define.lo `test -f '../shared/we_define.cpp' || echo '$(srcdir)/'`../shared/we_define.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_define.Tpo" "$(DEPDIR)/libwriteengine_la-we_define.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_define.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_define.cpp' object='libwriteengine_la-we_define.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_define.lo `test -f '../shared/we_define.cpp' || echo '$(srcdir)/'`../shared/we_define.cpp
|
||||
|
||||
libwriteengine_la-we_fileop.lo: ../shared/we_fileop.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_fileop.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_fileop.Tpo" -c -o libwriteengine_la-we_fileop.lo `test -f '../shared/we_fileop.cpp' || echo '$(srcdir)/'`../shared/we_fileop.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_fileop.Tpo" "$(DEPDIR)/libwriteengine_la-we_fileop.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_fileop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_fileop.cpp' object='libwriteengine_la-we_fileop.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_fileop.lo `test -f '../shared/we_fileop.cpp' || echo '$(srcdir)/'`../shared/we_fileop.cpp
|
||||
|
||||
libwriteengine_la-we_log.lo: ../shared/we_log.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_log.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_log.Tpo" -c -o libwriteengine_la-we_log.lo `test -f '../shared/we_log.cpp' || echo '$(srcdir)/'`../shared/we_log.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_log.Tpo" "$(DEPDIR)/libwriteengine_la-we_log.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_log.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_log.cpp' object='libwriteengine_la-we_log.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_log.lo `test -f '../shared/we_log.cpp' || echo '$(srcdir)/'`../shared/we_log.cpp
|
||||
|
||||
libwriteengine_la-we_stats.lo: ../shared/we_stats.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_stats.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_stats.Tpo" -c -o libwriteengine_la-we_stats.lo `test -f '../shared/we_stats.cpp' || echo '$(srcdir)/'`../shared/we_stats.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_stats.Tpo" "$(DEPDIR)/libwriteengine_la-we_stats.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_stats.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_stats.cpp' object='libwriteengine_la-we_stats.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_stats.lo `test -f '../shared/we_stats.cpp' || echo '$(srcdir)/'`../shared/we_stats.cpp
|
||||
|
||||
libwriteengine_la-we_bulkrollbackmgr.lo: ../shared/we_bulkrollbackmgr.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_bulkrollbackmgr.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_bulkrollbackmgr.Tpo" -c -o libwriteengine_la-we_bulkrollbackmgr.lo `test -f '../shared/we_bulkrollbackmgr.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackmgr.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackmgr.Tpo" "$(DEPDIR)/libwriteengine_la-we_bulkrollbackmgr.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackmgr.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_bulkrollbackmgr.cpp' object='libwriteengine_la-we_bulkrollbackmgr.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_bulkrollbackmgr.lo `test -f '../shared/we_bulkrollbackmgr.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackmgr.cpp
|
||||
|
||||
libwriteengine_la-we_simplesyslog.lo: ../shared/we_simplesyslog.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_simplesyslog.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_simplesyslog.Tpo" -c -o libwriteengine_la-we_simplesyslog.lo `test -f '../shared/we_simplesyslog.cpp' || echo '$(srcdir)/'`../shared/we_simplesyslog.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_simplesyslog.Tpo" "$(DEPDIR)/libwriteengine_la-we_simplesyslog.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_simplesyslog.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_simplesyslog.cpp' object='libwriteengine_la-we_simplesyslog.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_simplesyslog.lo `test -f '../shared/we_simplesyslog.cpp' || echo '$(srcdir)/'`../shared/we_simplesyslog.cpp
|
||||
|
||||
libwriteengine_la-we_bulkrollbackfilecompressed.lo: ../shared/we_bulkrollbackfilecompressed.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_bulkrollbackfilecompressed.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressed.Tpo" -c -o libwriteengine_la-we_bulkrollbackfilecompressed.lo `test -f '../shared/we_bulkrollbackfilecompressed.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackfilecompressed.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressed.Tpo" "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressed.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressed.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_bulkrollbackfilecompressed.cpp' object='libwriteengine_la-we_bulkrollbackfilecompressed.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_bulkrollbackfilecompressed.lo `test -f '../shared/we_bulkrollbackfilecompressed.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackfilecompressed.cpp
|
||||
|
||||
libwriteengine_la-we_bulkrollbackfilecompressedhdfs.lo: ../shared/we_bulkrollbackfilecompressedhdfs.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_bulkrollbackfilecompressedhdfs.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressedhdfs.Tpo" -c -o libwriteengine_la-we_bulkrollbackfilecompressedhdfs.lo `test -f '../shared/we_bulkrollbackfilecompressedhdfs.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackfilecompressedhdfs.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressedhdfs.Tpo" "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressedhdfs.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfilecompressedhdfs.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_bulkrollbackfilecompressedhdfs.cpp' object='libwriteengine_la-we_bulkrollbackfilecompressedhdfs.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_bulkrollbackfilecompressedhdfs.lo `test -f '../shared/we_bulkrollbackfilecompressedhdfs.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackfilecompressedhdfs.cpp
|
||||
|
||||
libwriteengine_la-we_bulkrollbackfile.lo: ../shared/we_bulkrollbackfile.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_bulkrollbackfile.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfile.Tpo" -c -o libwriteengine_la-we_bulkrollbackfile.lo `test -f '../shared/we_bulkrollbackfile.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackfile.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfile.Tpo" "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfile.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_bulkrollbackfile.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_bulkrollbackfile.cpp' object='libwriteengine_la-we_bulkrollbackfile.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_bulkrollbackfile.lo `test -f '../shared/we_bulkrollbackfile.cpp' || echo '$(srcdir)/'`../shared/we_bulkrollbackfile.cpp
|
||||
|
||||
libwriteengine_la-we_rbmetawriter.lo: ../shared/we_rbmetawriter.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_rbmetawriter.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_rbmetawriter.Tpo" -c -o libwriteengine_la-we_rbmetawriter.lo `test -f '../shared/we_rbmetawriter.cpp' || echo '$(srcdir)/'`../shared/we_rbmetawriter.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_rbmetawriter.Tpo" "$(DEPDIR)/libwriteengine_la-we_rbmetawriter.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_rbmetawriter.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_rbmetawriter.cpp' object='libwriteengine_la-we_rbmetawriter.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_rbmetawriter.lo `test -f '../shared/we_rbmetawriter.cpp' || echo '$(srcdir)/'`../shared/we_rbmetawriter.cpp
|
||||
|
||||
libwriteengine_la-we_dbrootextenttracker.lo: ../shared/we_dbrootextenttracker.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_dbrootextenttracker.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_dbrootextenttracker.Tpo" -c -o libwriteengine_la-we_dbrootextenttracker.lo `test -f '../shared/we_dbrootextenttracker.cpp' || echo '$(srcdir)/'`../shared/we_dbrootextenttracker.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_dbrootextenttracker.Tpo" "$(DEPDIR)/libwriteengine_la-we_dbrootextenttracker.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_dbrootextenttracker.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_dbrootextenttracker.cpp' object='libwriteengine_la-we_dbrootextenttracker.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_dbrootextenttracker.lo `test -f '../shared/we_dbrootextenttracker.cpp' || echo '$(srcdir)/'`../shared/we_dbrootextenttracker.cpp
|
||||
|
||||
libwriteengine_la-we_confirmhdfsdbfile.lo: ../shared/we_confirmhdfsdbfile.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_confirmhdfsdbfile.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_confirmhdfsdbfile.Tpo" -c -o libwriteengine_la-we_confirmhdfsdbfile.lo `test -f '../shared/we_confirmhdfsdbfile.cpp' || echo '$(srcdir)/'`../shared/we_confirmhdfsdbfile.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_confirmhdfsdbfile.Tpo" "$(DEPDIR)/libwriteengine_la-we_confirmhdfsdbfile.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_confirmhdfsdbfile.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../shared/we_confirmhdfsdbfile.cpp' object='libwriteengine_la-we_confirmhdfsdbfile.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_confirmhdfsdbfile.lo `test -f '../shared/we_confirmhdfsdbfile.cpp' || echo '$(srcdir)/'`../shared/we_confirmhdfsdbfile.cpp
|
||||
|
||||
libwriteengine_la-we_dctnry.lo: ../dictionary/we_dctnry.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_dctnry.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_dctnry.Tpo" -c -o libwriteengine_la-we_dctnry.lo `test -f '../dictionary/we_dctnry.cpp' || echo '$(srcdir)/'`../dictionary/we_dctnry.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_dctnry.Tpo" "$(DEPDIR)/libwriteengine_la-we_dctnry.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_dctnry.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../dictionary/we_dctnry.cpp' object='libwriteengine_la-we_dctnry.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_dctnry.lo `test -f '../dictionary/we_dctnry.cpp' || echo '$(srcdir)/'`../dictionary/we_dctnry.cpp
|
||||
|
||||
libwriteengine_la-we_xmlop.lo: ../xml/we_xmlop.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_xmlop.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_xmlop.Tpo" -c -o libwriteengine_la-we_xmlop.lo `test -f '../xml/we_xmlop.cpp' || echo '$(srcdir)/'`../xml/we_xmlop.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_xmlop.Tpo" "$(DEPDIR)/libwriteengine_la-we_xmlop.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_xmlop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../xml/we_xmlop.cpp' object='libwriteengine_la-we_xmlop.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_xmlop.lo `test -f '../xml/we_xmlop.cpp' || echo '$(srcdir)/'`../xml/we_xmlop.cpp
|
||||
|
||||
libwriteengine_la-we_xmljob.lo: ../xml/we_xmljob.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_xmljob.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_xmljob.Tpo" -c -o libwriteengine_la-we_xmljob.lo `test -f '../xml/we_xmljob.cpp' || echo '$(srcdir)/'`../xml/we_xmljob.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_xmljob.Tpo" "$(DEPDIR)/libwriteengine_la-we_xmljob.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_xmljob.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../xml/we_xmljob.cpp' object='libwriteengine_la-we_xmljob.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_xmljob.lo `test -f '../xml/we_xmljob.cpp' || echo '$(srcdir)/'`../xml/we_xmljob.cpp
|
||||
|
||||
libwriteengine_la-we_xmlgendata.lo: ../xml/we_xmlgendata.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_xmlgendata.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_xmlgendata.Tpo" -c -o libwriteengine_la-we_xmlgendata.lo `test -f '../xml/we_xmlgendata.cpp' || echo '$(srcdir)/'`../xml/we_xmlgendata.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_xmlgendata.Tpo" "$(DEPDIR)/libwriteengine_la-we_xmlgendata.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_xmlgendata.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../xml/we_xmlgendata.cpp' object='libwriteengine_la-we_xmlgendata.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_xmlgendata.lo `test -f '../xml/we_xmlgendata.cpp' || echo '$(srcdir)/'`../xml/we_xmlgendata.cpp
|
||||
|
||||
libwriteengine_la-we_xmlgenproc.lo: ../xml/we_xmlgenproc.cpp
|
||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libwriteengine_la-we_xmlgenproc.lo -MD -MP -MF "$(DEPDIR)/libwriteengine_la-we_xmlgenproc.Tpo" -c -o libwriteengine_la-we_xmlgenproc.lo `test -f '../xml/we_xmlgenproc.cpp' || echo '$(srcdir)/'`../xml/we_xmlgenproc.cpp; \
|
||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libwriteengine_la-we_xmlgenproc.Tpo" "$(DEPDIR)/libwriteengine_la-we_xmlgenproc.Plo"; else rm -f "$(DEPDIR)/libwriteengine_la-we_xmlgenproc.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../xml/we_xmlgenproc.cpp' object='libwriteengine_la-we_xmlgenproc.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwriteengine_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libwriteengine_la-we_xmlgenproc.lo `test -f '../xml/we_xmlgenproc.cpp' || echo '$(srcdir)/'`../xml/we_xmlgenproc.cpp
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-includeHEADERS: $(include_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
|
||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
|
||||
$(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-includeHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(includedir)/$$f"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-includeHEADERS
|
||||
|
||||
install-exec-am: install-libLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-includeHEADERS uninstall-info-am \
|
||||
uninstall-libLTLIBRARIES
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-libLTLIBRARIES clean-libtool ctags distclean \
|
||||
distclean-compile distclean-generic distclean-libtool \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-includeHEADERS install-info \
|
||||
install-info-am install-libLTLIBRARIES install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-includeHEADERS uninstall-info-am \
|
||||
uninstall-libLTLIBRARIES
|
||||
|
||||
|
||||
test:
|
||||
|
||||
coverage:
|
||||
|
||||
leakcheck:
|
||||
|
||||
docs:
|
||||
|
||||
bootstrap: install-data-am
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
2852
writeengine/wrapper/tdriver.cpp
Normal file
2852
writeengine/wrapper/tdriver.cpp
Normal file
File diff suppressed because it is too large
Load Diff
1778
writeengine/wrapper/we_colop.cpp
Normal file
1778
writeengine/wrapper/we_colop.cpp
Normal file
File diff suppressed because it is too large
Load Diff
340
writeengine/wrapper/we_colop.h
Normal file
340
writeengine/wrapper/we_colop.h
Normal file
@@ -0,0 +1,340 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id: we_colop.h 4728 2013-08-08 19:26:10Z chao $
|
||||
|
||||
|
||||
/** @file */
|
||||
|
||||
#ifndef _WE_COLOP_H_
|
||||
#define _WE_COLOP_H_
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "we_dbfileop.h"
|
||||
#include "brmtypes.h"
|
||||
#include "we_dbrootextenttracker.h"
|
||||
#include "we_tablemetadata.h"
|
||||
#include "we_dctnry.h"
|
||||
#if defined(_MSC_VER) && defined(WRITEENGINE_DLLEXPORT)
|
||||
#define EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define EXPORT
|
||||
#endif
|
||||
|
||||
/** Namespace WriteEngine */
|
||||
namespace WriteEngine
|
||||
{
|
||||
class Log;
|
||||
|
||||
//const int COL_DATATYPE_NUM = 15;
|
||||
//const char ColDataTypeStr[COL_DATATYPE_NUM][20] = { "bit", "tinyint", "char", "smallint", "decimal", "medint", "integer", "float", "date", "bigint",
|
||||
// "double", "datetime", "varchar", "clob", "blob" };
|
||||
|
||||
/** Class ColumnOp */
|
||||
class ColumnOp : public DbFileOp
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
EXPORT ColumnOp();
|
||||
EXPORT ColumnOp(Log* logger);
|
||||
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
EXPORT virtual ~ColumnOp();
|
||||
|
||||
EXPORT virtual int allocRowId(const TxnID& txnid,
|
||||
bool useStartingExtent,
|
||||
Column& column,
|
||||
uint64_t totalRow,
|
||||
RID* rowIdArray,
|
||||
HWM& hwm,
|
||||
bool& newExtent,
|
||||
uint64_t& rowsLeft,
|
||||
HWM& newHwm,
|
||||
bool& newFile,
|
||||
ColStructList& newColStructList,
|
||||
DctnryStructList& newDctnryStructList,
|
||||
std::vector<boost::shared_ptr<DBRootExtentTracker> > & dbRootExtentTrackers,
|
||||
bool insertSelect = false,
|
||||
bool isBatchInsert = false,
|
||||
OID tableOid = 0, bool isFirstBatchPm = false);
|
||||
|
||||
/**
|
||||
* @brief Create column file(s)
|
||||
*/
|
||||
EXPORT virtual int createColumn(Column& column,
|
||||
int colNo,
|
||||
int colWidth,
|
||||
execplan::CalpontSystemCatalog::ColDataType colDataType,
|
||||
ColType colType,
|
||||
FID dataFid,
|
||||
uint16_t dbRoot,
|
||||
uint32_t partition);
|
||||
|
||||
/**
|
||||
* @brief Fills up a column with null/default values in all non-empty rows as the reference column. The reference column
|
||||
* would typically be another column of the same table.
|
||||
*
|
||||
* @param column The new colum
|
||||
* @param refCol The reference column for identifying valid rows
|
||||
* @param defaultVal The default value of the new column
|
||||
* @param dictOid The dictionary store OID for a dictionary column
|
||||
* @param dictColWidth The dictionary string width for a dictionary column
|
||||
*/
|
||||
//BUG931
|
||||
EXPORT virtual int fillColumn(const TxnID& txnid,
|
||||
Column& column,
|
||||
Column& refCol,
|
||||
void* defaultVal,
|
||||
Dctnry* dctnry,
|
||||
ColumnOp* refColOp,
|
||||
const OID dictOid = 0,
|
||||
const int dictColWidth = 0,
|
||||
const std::string defaultValStr = "",
|
||||
bool autoincrement = false);
|
||||
|
||||
/**
|
||||
* @brief Create a table file
|
||||
*/
|
||||
EXPORT virtual int createTable() const;
|
||||
|
||||
/**
|
||||
* @brief Drop column file(s)
|
||||
*/
|
||||
EXPORT virtual int dropColumn(const FID dataFid);
|
||||
|
||||
/**
|
||||
* @brief Drop column and dictionary file(s)
|
||||
*/
|
||||
EXPORT virtual int dropFiles(const std::vector<int32_t>& dataFids);
|
||||
|
||||
/**
|
||||
* @brief Delete file(s) for the given partition
|
||||
*/
|
||||
EXPORT virtual int dropPartitions(const std::vector<OID>& dataFids,
|
||||
const std::vector<BRM::PartitionInfo>& partitions);
|
||||
|
||||
|
||||
EXPORT virtual int deleteOIDsFromExtentMap(const std::vector<int32_t>& dataFids);
|
||||
/**
|
||||
* @brief Drop a table file
|
||||
*/
|
||||
int dropTable() const { return NO_ERROR; }
|
||||
|
||||
/**
|
||||
* @brief Expand the abbreviated extent to a full extent for this column.
|
||||
*/
|
||||
EXPORT virtual int expandAbbrevExtent(const Column& column);
|
||||
|
||||
/**
|
||||
* @brief Add an extent to the specified column OID and DBRoot.
|
||||
* When this function returns, the file position will be located at the
|
||||
* end of the file. If the applicable column segment file does not exist,
|
||||
* extendColumn() will create the new segment file.
|
||||
* The extent must already exist in the extentmap prior to calling this fctn.
|
||||
*
|
||||
* @param column Column struct with input column attributes.
|
||||
* @param leaveFileOpen Leave the db file open when leaving this function
|
||||
* @param hwm The fbo of the column segment file where the new extent begins
|
||||
* @param startLbid The starting LBID for the new extent.
|
||||
* @param allocSize Number of blocks to be written for an extent
|
||||
* @param dbRoot The DBRoot of the file with the new extent.
|
||||
* @param partition Partition num of the file with the new extent.
|
||||
* @param segment The segment number of the file with the new extent.
|
||||
* @param segFile (out) Name of segment file to which the extent is added.
|
||||
* @param pFile (out) FILE ptr to the file where the extent is added.
|
||||
* @param newFile (out) Indicates if extent was added to new or existing file
|
||||
* @param hdrs (out) Contents of headers if file is compressed.
|
||||
* @return returns NO_ERROR if success.
|
||||
*/
|
||||
EXPORT int extendColumn(const Column& column,
|
||||
bool leaveFileOpen,
|
||||
HWM hwm,
|
||||
BRM::LBID_t startLbid,
|
||||
int allocSize,
|
||||
uint16_t dbRoot,
|
||||
uint32_t partition,
|
||||
uint16_t segment,
|
||||
std::string& segFile,
|
||||
IDBDataFile*& pFile,
|
||||
bool& newFile,
|
||||
char* hdrs = NULL);
|
||||
|
||||
/**
|
||||
* @brief Add an extent to the OID specified in the column argument.
|
||||
* When this function returns, the file position will be located at the
|
||||
* end of the file.
|
||||
*
|
||||
* @param column Column struct with input column attributes.
|
||||
* @param dbRoot (in) The DBRoot of the file with the new extent.
|
||||
* @param partition (in) The partition num of the file with the new extent.
|
||||
* @param segment (in) The segment number of the file with the new extent.
|
||||
* @param segFile (out) Name of segment file to which the extent is added.
|
||||
* @param startLbid (out) The starting LBID for the new extent.
|
||||
* @param newFile (out) Indicates if extent was added to new or existing file
|
||||
* @param hdsr (out) Contents of headers if file is compressed.
|
||||
* @param allocSize (out) number of blocks to be written for an extent
|
||||
* @return returns NO_ERROR if success.
|
||||
*/
|
||||
EXPORT int addExtent(const Column& column,
|
||||
uint16_t dbRoot,
|
||||
uint32_t partition,
|
||||
uint16_t segment,
|
||||
std::string& segFile,
|
||||
BRM::LBID_t& startLbid,
|
||||
bool& newFile,
|
||||
int& allocSize,
|
||||
char* hdrs = NULL);
|
||||
|
||||
/**
|
||||
* @brief Get columne data type
|
||||
*/
|
||||
EXPORT virtual bool getColDataType(const char* name, execplan::CalpontSystemCatalog::ColDataType& colDataType) const;
|
||||
|
||||
/**
|
||||
* @brief Initialize the column
|
||||
*/
|
||||
EXPORT virtual void initColumn(Column& column) const;
|
||||
|
||||
/**
|
||||
* @brief Check whether it is an empty row
|
||||
*/
|
||||
EXPORT virtual bool isEmptyRow(unsigned char* buf, int offset, const Column& column);
|
||||
|
||||
/**
|
||||
* @brief Check whether it is a valid column
|
||||
*/
|
||||
EXPORT virtual bool isValid(Column& column) const;
|
||||
|
||||
/**
|
||||
* @brief Open column file, segFile is set to the name of the column
|
||||
* segment file that is opened.
|
||||
*/
|
||||
EXPORT virtual int openColumnFile(Column& column,
|
||||
std::string& segFile,
|
||||
bool useTmpSuffix,
|
||||
int ioBuffSize=DEFAULT_BUFSIZ) const;
|
||||
|
||||
/**
|
||||
* @brief Open table file
|
||||
*/
|
||||
int openTableFile() const { return NO_ERROR; }
|
||||
|
||||
/**
|
||||
* @brief Delete a file
|
||||
*/
|
||||
EXPORT virtual void setColParam(Column& column, int colNo = 0,
|
||||
int colWidth = 0,
|
||||
execplan::CalpontSystemCatalog::ColDataType colDataType = execplan::CalpontSystemCatalog::INT,
|
||||
ColType colType = WR_INT,
|
||||
FID dataFid = 0,
|
||||
int comppre = 0,
|
||||
uint16_t dbRoot = 0,
|
||||
uint32_t partition = 0,
|
||||
uint16_t segment = 0) const;
|
||||
|
||||
/**
|
||||
* @brief Write row(s)
|
||||
*/
|
||||
EXPORT virtual int writeRow(Column& curCol,
|
||||
uint64_t totalRow,
|
||||
const RID* rowIdArray,
|
||||
const void* valArray,
|
||||
bool bDelete = false);
|
||||
|
||||
/**
|
||||
* @brief Write row(s) for update and delete @Bug 1886,2870
|
||||
*/
|
||||
EXPORT virtual int writeRows(Column& curCol,
|
||||
uint64_t totalRow,
|
||||
const RIDList& ridList,
|
||||
const void* valArray,
|
||||
const void* oldValArray=0,
|
||||
bool bDelete = false);
|
||||
|
||||
/**
|
||||
* @brief Write row(s) for update and delete @Bug 1886,2870
|
||||
*/
|
||||
EXPORT virtual int writeRowsValues(Column& curCol,
|
||||
uint64_t totalRow,
|
||||
const RIDList& ridList,
|
||||
const void* valArray);
|
||||
|
||||
/**
|
||||
* @brief Test if the pFile is an abbreviated extent.
|
||||
*/
|
||||
virtual bool abbreviatedExtent(IDBDataFile* pFile, int colWidth) const = 0;
|
||||
|
||||
/**
|
||||
* @brief Caculate the number of blocks in file.
|
||||
*/
|
||||
virtual int blocksInFile(IDBDataFile* pFile) const = 0;
|
||||
|
||||
/**
|
||||
* @brief Clear a column
|
||||
*/
|
||||
EXPORT void clearColumn(Column& column) const;
|
||||
|
||||
/**
|
||||
* @brief open a data file of column
|
||||
*/
|
||||
virtual IDBDataFile* openFile(const Column& column, uint16_t dbRoot, uint32_t partition,
|
||||
uint16_t segment, std::string& segFile, bool useTmpSuffix, const char* mode = "r+b",
|
||||
int ioBuffSize = DEFAULT_BUFSIZ) const = 0;
|
||||
|
||||
|
||||
/**
|
||||
* @brief backup blocks to version buffer
|
||||
*/
|
||||
int writeVB(IDBDataFile* pSource, const OID sourceOid, IDBDataFile* pTarget, const OID targetOid,
|
||||
const std::vector<uint32_t>& fboList, const BRM::VBRange& freeList,
|
||||
size_t& nBlocksProcessed, const size_t fboCurrentOffset);
|
||||
|
||||
/**
|
||||
* @brief restore blocks from version buffer
|
||||
*/
|
||||
int copyVB(IDBDataFile* pSource, const BRM::VER_t txnD, const OID oid, std::vector<uint32_t>& fboList,
|
||||
std::vector<BRM::LBIDRange>& rangeList);
|
||||
protected:
|
||||
|
||||
/**
|
||||
* @brief close column file
|
||||
*/
|
||||
EXPORT virtual void closeColumnFile(Column& column) const;
|
||||
|
||||
/**
|
||||
* @brief populate readBuf with data in block #lbid
|
||||
*/
|
||||
virtual int readBlock(IDBDataFile* pFile, unsigned char* readBuf, const uint64_t fbo) = 0;
|
||||
|
||||
/**
|
||||
* @brief output writeBuf to pFile starting at position fbo
|
||||
*/
|
||||
virtual int saveBlock(IDBDataFile* pFile, const unsigned char* writeBuf, const uint64_t fbo) = 0;
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
} //end of namespace
|
||||
|
||||
#undef EXPORT
|
||||
|
||||
#endif // _WE_COLOP_H_
|
||||
211
writeengine/wrapper/we_colopcompress.cpp
Normal file
211
writeengine/wrapper/we_colopcompress.cpp
Normal file
@@ -0,0 +1,211 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id: we_colopcompress.cpp 4726 2013-08-07 03:38:36Z bwilkinson $
|
||||
|
||||
|
||||
/** @file */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <vector>
|
||||
|
||||
#include "we_log.h"
|
||||
#include "we_chunkmanager.h"
|
||||
#include "idbcompress.h"
|
||||
|
||||
#include "we_colopcompress.h"
|
||||
|
||||
namespace WriteEngine
|
||||
{
|
||||
|
||||
class ChunkManager;
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// ColumnOp with compression type 0
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
ColumnOpCompress0::ColumnOpCompress0()
|
||||
{
|
||||
m_compressionType = 0;
|
||||
}
|
||||
|
||||
|
||||
ColumnOpCompress0::ColumnOpCompress0(Log* logger)
|
||||
{
|
||||
m_compressionType = 0;
|
||||
setDebugLevel( logger->getDebugLevel() );
|
||||
setLogger ( logger );
|
||||
}
|
||||
|
||||
/**
|
||||
* Default Destructor
|
||||
*/
|
||||
ColumnOpCompress0::~ColumnOpCompress0()
|
||||
{}
|
||||
|
||||
|
||||
// @bug 5572 - HDFS usage: add *.tmp file backup flag
|
||||
IDBDataFile* ColumnOpCompress0::openFile(
|
||||
const Column& column, const uint16_t dbRoot, const uint32_t partition, const uint16_t segment,
|
||||
std::string& segFile, bool useTmpSuffix, const char* mode, const int ioBuffSize) const
|
||||
{
|
||||
return FileOp::openFile(column.dataFile.fid, dbRoot, partition, segment, segFile,
|
||||
mode, column.colWidth, useTmpSuffix);
|
||||
}
|
||||
|
||||
|
||||
bool ColumnOpCompress0::abbreviatedExtent(IDBDataFile* pFile, int colWidth) const
|
||||
{
|
||||
long long fsize;
|
||||
if (getFileSize(pFile, fsize) == NO_ERROR)
|
||||
{
|
||||
return (fsize == INITIAL_EXTENT_ROWS_TO_DISK*colWidth);
|
||||
}
|
||||
// TODO: Log error
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress0::blocksInFile(IDBDataFile* pFile) const
|
||||
{
|
||||
long long fsize;
|
||||
if (getFileSize(pFile, fsize) == NO_ERROR)
|
||||
{
|
||||
return (fsize / BYTE_PER_BLOCK);
|
||||
}
|
||||
// TODO: Log error
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress0::readBlock(IDBDataFile* pFile, unsigned char* readBuf, const uint64_t fbo)
|
||||
{
|
||||
return readDBFile(pFile, readBuf, fbo, true);
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress0::saveBlock(IDBDataFile* pFile, const unsigned char* writeBuf, const uint64_t fbo)
|
||||
{
|
||||
return writeDBFileFbo(pFile, writeBuf, fbo, 1);
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// ColumnOp with compression type 1
|
||||
// --------------------------------------------------------------------------------------------
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
ColumnOpCompress1::ColumnOpCompress1(Log* logger)
|
||||
{
|
||||
m_compressionType = 1;
|
||||
m_chunkManager = new ChunkManager();
|
||||
if (logger)
|
||||
{
|
||||
setDebugLevel( logger->getDebugLevel() );
|
||||
setLogger ( logger );
|
||||
}
|
||||
m_chunkManager->fileOp(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Default Destructor
|
||||
*/
|
||||
ColumnOpCompress1::~ColumnOpCompress1()
|
||||
{
|
||||
if (m_chunkManager)
|
||||
{
|
||||
delete m_chunkManager;
|
||||
}
|
||||
}
|
||||
|
||||
// @bug 5572 - HDFS usage: add *.tmp file backup flag
|
||||
IDBDataFile* ColumnOpCompress1::openFile(
|
||||
const Column& column, const uint16_t dbRoot, const uint32_t partition, const uint16_t segment,
|
||||
std::string& segFile, bool useTmpSuffix, const char* mode, const int ioBuffSize) const
|
||||
{
|
||||
return m_chunkManager->getFilePtr(column, dbRoot, partition, segment, segFile,
|
||||
mode, ioBuffSize, useTmpSuffix);
|
||||
}
|
||||
|
||||
|
||||
bool ColumnOpCompress1::abbreviatedExtent(IDBDataFile* pFile, int colWidth) const
|
||||
{
|
||||
return (blocksInFile(pFile) == INITIAL_EXTENT_ROWS_TO_DISK*colWidth/BYTE_PER_BLOCK);
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress1::blocksInFile(IDBDataFile* pFile) const
|
||||
{
|
||||
CompFileHeader compFileHeader;
|
||||
readHeaders(pFile, compFileHeader.fControlData, compFileHeader.fPtrSection);
|
||||
|
||||
compress::IDBCompressInterface compressor;
|
||||
return compressor.getBlockCount(compFileHeader.fControlData);
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress1::readBlock(IDBDataFile* pFile, unsigned char* readBuf, const uint64_t fbo)
|
||||
{
|
||||
return m_chunkManager->readBlock(pFile, readBuf, fbo);
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress1::saveBlock(IDBDataFile* pFile, const unsigned char* writeBuf, const uint64_t fbo)
|
||||
{
|
||||
return m_chunkManager->saveBlock(pFile, writeBuf, fbo);
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress1::flushFile(int rc, std::map<FID,FID> & columnOids)
|
||||
{
|
||||
return m_chunkManager->flushChunks(rc, columnOids);
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress1::expandAbbrevColumnExtent(
|
||||
IDBDataFile* pFile, uint16_t dbRoot, uint64_t emptyVal, int width)
|
||||
{
|
||||
// update the uncompressed initial chunk to full chunk
|
||||
RETURN_ON_ERROR(m_chunkManager->expandAbbrevColumnExtent(pFile, emptyVal, width));
|
||||
|
||||
// let the base to physically expand extent.
|
||||
return FileOp::expandAbbrevColumnExtent(pFile, dbRoot, emptyVal, width);
|
||||
}
|
||||
|
||||
|
||||
int ColumnOpCompress1::updateColumnExtent(IDBDataFile* pFile, int nBlocks)
|
||||
{
|
||||
return m_chunkManager->updateColumnExtent(pFile, nBlocks);
|
||||
}
|
||||
|
||||
|
||||
void ColumnOpCompress1::closeColumnFile(Column& column) const
|
||||
{
|
||||
// Leave file closing to chunk manager.
|
||||
column.dataFile.pFile = NULL;
|
||||
}
|
||||
|
||||
} //end of namespace
|
||||
|
||||
180
writeengine/wrapper/we_colopcompress.h
Normal file
180
writeengine/wrapper/we_colopcompress.h
Normal file
@@ -0,0 +1,180 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id: we_colopcompress.h 4726 2013-08-07 03:38:36Z bwilkinson $
|
||||
|
||||
|
||||
/** @file */
|
||||
|
||||
#ifndef _WE_COLOP_COMPRESS_H_
|
||||
#define _WE_COLOP_COMPRESS_H_
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "we_colop.h"
|
||||
#include "we_chunkmanager.h"
|
||||
|
||||
#if defined(_MSC_VER) && defined(WRITEENGINE_DLLEXPORT)
|
||||
#define EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define EXPORT
|
||||
#endif
|
||||
|
||||
/** Namespace WriteEngine */
|
||||
namespace WriteEngine
|
||||
{
|
||||
|
||||
/** Class ColumnOpCompress0 */
|
||||
class ColumnOpCompress0 : public ColumnOp
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
EXPORT ColumnOpCompress0();
|
||||
EXPORT ColumnOpCompress0(Log* logger);
|
||||
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
EXPORT virtual ~ColumnOpCompress0();
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
IDBDataFile* openFile(const Column& column, uint16_t dbRoot, uint32_t partition,
|
||||
uint16_t segment, std::string& segFile, bool useTmpSuffix, const char* mode = "r+b",
|
||||
int ioBuffSize = DEFAULT_BUFSIZ) const;
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
bool abbreviatedExtent(IDBDataFile* pFile, int colWidth) const;
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
int blocksInFile(IDBDataFile* pFile) const;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
int readBlock(IDBDataFile* pFile, unsigned char* readBuf, const uint64_t fbo);
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
int saveBlock(IDBDataFile* pFile, const unsigned char* writeBuf, const uint64_t fbo);
|
||||
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
|
||||
/** Class ColumnOpCompress1 */
|
||||
class ColumnOpCompress1 : public ColumnOp
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
EXPORT ColumnOpCompress1(Log* logger=0);
|
||||
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
EXPORT virtual ~ColumnOpCompress1();
|
||||
|
||||
/**
|
||||
* @brief virtual method in FileOp
|
||||
*/
|
||||
EXPORT int flushFile(int rc, std::map<FID,FID> & columnOids);
|
||||
|
||||
/**
|
||||
* @brief virtual method in FileOp
|
||||
*/
|
||||
int expandAbbrevColumnExtent(IDBDataFile* pFile, uint16_t dbRoot, uint64_t emptyVal, int width);
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
IDBDataFile* openFile(const Column& column, uint16_t dbRoot, uint32_t partition,
|
||||
uint16_t segment, std::string& segFile, bool useTmpSuffix, const char* mode = "r+b",
|
||||
int ioBuffSize = DEFAULT_BUFSIZ) const;
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
bool abbreviatedExtent(IDBDataFile* pFile, int colWidth) const;
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
int blocksInFile(IDBDataFile* pFile) const;
|
||||
|
||||
// void chunkManager(ChunkManager* cm);
|
||||
|
||||
/**
|
||||
* @brief virtual method in FileOp
|
||||
*/
|
||||
void setTransId(const TxnID& transId) {ColumnOp::setTransId(transId); if (m_chunkManager) m_chunkManager->setTransId(transId);}
|
||||
|
||||
void setBulkFlag(bool isBulkLoad) {m_chunkManager->setBulkFlag(isBulkLoad);};
|
||||
|
||||
void setFixFlag(bool isFix) {m_chunkManager->setFixFlag(isFix);};
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* @brief virtual method in FileOp
|
||||
*/
|
||||
int updateColumnExtent(IDBDataFile* pFile, int nBlocks);
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
void closeColumnFile(Column& column) const;
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
int readBlock(IDBDataFile* pFile, unsigned char* readBuf, const uint64_t fbo);
|
||||
|
||||
/**
|
||||
* @brief virtual method in ColumnOp
|
||||
*/
|
||||
int saveBlock(IDBDataFile* pFile, const unsigned char* writeBuf, const uint64_t fbo);
|
||||
|
||||
/**
|
||||
* @brief Set the IsInsert flag in the ChunkManager.
|
||||
* This forces flush at end of statement. Used only for bulk insert.
|
||||
*/
|
||||
void setIsInsert(bool isInsert) { m_chunkManager->setIsInsert(isInsert); }
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
} //end of namespace
|
||||
|
||||
#undef EXPORT
|
||||
|
||||
#endif // _WE_COLOP_COMPRESS_H_
|
||||
181
writeengine/wrapper/we_dctnrycompress.cpp
Normal file
181
writeengine/wrapper/we_dctnrycompress.cpp
Normal file
@@ -0,0 +1,181 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id: we_dctnrycompress.cpp 4726 2013-08-07 03:38:36Z bwilkinson $
|
||||
|
||||
|
||||
/** @file */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <vector>
|
||||
using namespace std;
|
||||
|
||||
#include "we_log.h"
|
||||
#include "we_brm.h"
|
||||
#include "we_chunkmanager.h"
|
||||
|
||||
#include "we_dctnrycompress.h"
|
||||
|
||||
|
||||
namespace WriteEngine
|
||||
{
|
||||
class ChunkManager;
|
||||
// -----------------------------------------------------------------------------
|
||||
// Dctnry with compression type 0
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
DctnryCompress0::DctnryCompress0()
|
||||
{
|
||||
m_compressionType = 0;
|
||||
}
|
||||
|
||||
DctnryCompress0::DctnryCompress0(Log* logger)
|
||||
{
|
||||
m_compressionType = 0;
|
||||
setDebugLevel( logger->getDebugLevel() );
|
||||
setLogger ( logger );
|
||||
}
|
||||
|
||||
/**
|
||||
* Default Destructor
|
||||
*/
|
||||
DctnryCompress0::~DctnryCompress0()
|
||||
{}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Dctnry with compression type 1
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
DctnryCompress1::DctnryCompress1(Log* logger)
|
||||
{
|
||||
m_compressionType = 1;
|
||||
m_chunkManager = new ChunkManager();
|
||||
|
||||
if (logger)
|
||||
{
|
||||
setDebugLevel( logger->getDebugLevel() );
|
||||
setLogger ( logger );
|
||||
}
|
||||
m_chunkManager->fileOp(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Default Destructor
|
||||
*/
|
||||
DctnryCompress1::~DctnryCompress1()
|
||||
{
|
||||
if (m_chunkManager)
|
||||
delete m_chunkManager;
|
||||
}
|
||||
|
||||
int DctnryCompress1::updateDctnryExtent(IDBDataFile* pFile, int nBlocks)
|
||||
{
|
||||
return m_chunkManager->updateDctnryExtent(pFile, nBlocks);
|
||||
}
|
||||
|
||||
|
||||
IDBDataFile* DctnryCompress1::createDctnryFile(const char *name,int width,const char *mode,int ioBuffSize)
|
||||
{
|
||||
return m_chunkManager->createDctnryFile(
|
||||
m_dctnryOID, width, m_dbRoot, m_partition, m_segment, name, mode, ioBuffSize);
|
||||
}
|
||||
|
||||
|
||||
// @bug 5572 - HDFS usage: add *.tmp file backup flag
|
||||
IDBDataFile* DctnryCompress1::openDctnryFile(bool useTmpSuffix)
|
||||
{
|
||||
return m_chunkManager->getFilePtr(
|
||||
m_dctnryOID, m_dbRoot, m_partition, m_segment, m_segFileName, "r+b", DEFAULT_BUFSIZ, useTmpSuffix);
|
||||
}
|
||||
|
||||
|
||||
void DctnryCompress1::closeDctnryFile(bool doFlush, std::map<FID,FID> & columnOids)
|
||||
{
|
||||
if (doFlush)
|
||||
m_chunkManager->flushChunks(NO_ERROR, columnOids);
|
||||
else
|
||||
m_chunkManager->cleanUp(columnOids);
|
||||
m_dFile = NULL;
|
||||
}
|
||||
|
||||
|
||||
int DctnryCompress1::numOfBlocksInFile()
|
||||
{
|
||||
return m_chunkManager->getBlockCount(m_dFile);
|
||||
}
|
||||
|
||||
|
||||
int DctnryCompress1::readDBFile(IDBDataFile* pFile, unsigned char* readBuf, const uint64_t lbid,
|
||||
const bool isFbo)
|
||||
{
|
||||
int fbo = lbid;
|
||||
if (!isFbo)
|
||||
RETURN_ON_ERROR(lbidToFbo(lbid, fbo));
|
||||
|
||||
return m_chunkManager->readBlock(pFile, readBuf, fbo);
|
||||
}
|
||||
|
||||
|
||||
int DctnryCompress1::writeDBFile(IDBDataFile* pFile, const unsigned char* writeBuf, const uint64_t lbid,
|
||||
const int numOfBlock)
|
||||
{
|
||||
int fbo = 0;
|
||||
RETURN_ON_ERROR(lbidToFbo(lbid, fbo));
|
||||
|
||||
for (int i = 0; i < numOfBlock; i++)
|
||||
RETURN_ON_ERROR(m_chunkManager->saveBlock(pFile, writeBuf, fbo+i));
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
int DctnryCompress1::writeDBFileNoVBCache(IDBDataFile* pFile,
|
||||
const unsigned char * writeBuf, const int fbo,
|
||||
const int numOfBlock)
|
||||
{
|
||||
//int fbo = 0;
|
||||
//RETURN_ON_ERROR(lbidToFbo(lbid, fbo));
|
||||
|
||||
for (int i = 0; i < numOfBlock; i++)
|
||||
RETURN_ON_ERROR(m_chunkManager->saveBlock(pFile, writeBuf, fbo+i));
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
int DctnryCompress1::flushFile(int rc, std::map<FID,FID> & columnOids)
|
||||
{
|
||||
return m_chunkManager->flushChunks(rc, columnOids);
|
||||
}
|
||||
|
||||
|
||||
int DctnryCompress1::lbidToFbo(const uint64_t lbid, int& fbo)
|
||||
{
|
||||
uint16_t dbRoot;
|
||||
uint16_t segment;
|
||||
uint32_t partition;
|
||||
return BRMWrapper::getInstance()->getFboOffset(lbid, dbRoot, partition, segment, fbo);
|
||||
}
|
||||
|
||||
|
||||
} //end of namespace
|
||||
|
||||
155
writeengine/wrapper/we_dctnrycompress.h
Normal file
155
writeengine/wrapper/we_dctnrycompress.h
Normal file
@@ -0,0 +1,155 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id: we_dctnrycompress.h 4726 2013-08-07 03:38:36Z bwilkinson $
|
||||
|
||||
|
||||
/** @file */
|
||||
|
||||
#ifndef _WE_DCTNRY_COMPRESS_H_
|
||||
#define _WE_DCTNRY_COMPRESS_H_
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "we_dctnry.h"
|
||||
#include "we_chunkmanager.h"
|
||||
#if defined(_MSC_VER) && defined(WRITEENGINE_DLLEXPORT)
|
||||
#define EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define EXPORT
|
||||
#endif
|
||||
|
||||
/** Namespace WriteEngine */
|
||||
namespace WriteEngine
|
||||
{
|
||||
|
||||
/** Class DctnryCompress */
|
||||
class DctnryCompress0 : public Dctnry
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
EXPORT DctnryCompress0();
|
||||
EXPORT DctnryCompress0(Log* logger);
|
||||
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
EXPORT virtual ~DctnryCompress0();
|
||||
};
|
||||
|
||||
|
||||
|
||||
/** Class DctnryCompress1 */
|
||||
class DctnryCompress1 : public Dctnry
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
EXPORT DctnryCompress1(Log* logger=0);
|
||||
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
EXPORT virtual ~DctnryCompress1();
|
||||
|
||||
/**
|
||||
* @brief virtual method in FileOp
|
||||
*/
|
||||
EXPORT int flushFile(int rc, std::map<FID,FID> & columnOids);
|
||||
|
||||
/**
|
||||
* @brief virtual method in DBFileOp
|
||||
*/
|
||||
EXPORT int readDBFile(IDBDataFile* pFile, unsigned char* readBuf, const uint64_t lbid,
|
||||
const bool isFbo = false );
|
||||
|
||||
/**
|
||||
* @brief virtual method in DBFileOp
|
||||
*/
|
||||
EXPORT int writeDBFile(IDBDataFile* pFile, const unsigned char* writeBuf, const uint64_t lbid,
|
||||
const int numOfBlock = 1);
|
||||
|
||||
/**
|
||||
* @brief virtual method in DBFileOp
|
||||
*/
|
||||
EXPORT int writeDBFileNoVBCache(IDBDataFile* pFile,
|
||||
const unsigned char * writeBuf, const int fbo,
|
||||
const int numOfBlock = 1);
|
||||
|
||||
|
||||
/**
|
||||
* @brief virtual method in Dctnry
|
||||
*/
|
||||
IDBDataFile* createDctnryFile(const char *name, int width, const char *mode, int ioBuffSize);
|
||||
|
||||
/**
|
||||
* @brief virtual method in Dctnry
|
||||
*/
|
||||
IDBDataFile* openDctnryFile(bool useTmpSuffix);
|
||||
|
||||
/**
|
||||
* @brief virtual method in Dctnry
|
||||
*/
|
||||
void closeDctnryFile(bool doFlush, std::map<FID,FID> & columnOids);
|
||||
|
||||
/**
|
||||
* @brief virtual method in Dctnry
|
||||
*/
|
||||
int numOfBlocksInFile();
|
||||
|
||||
/**
|
||||
* @brief For bulkload to use
|
||||
*/
|
||||
void setMaxActiveChunkNum(unsigned int maxActiveChunkNum) { m_chunkManager->setMaxActiveChunkNum(maxActiveChunkNum); };
|
||||
void setBulkFlag(bool isBulkLoad) {m_chunkManager->setBulkFlag(isBulkLoad);};
|
||||
void setFixFlag(bool isFix) {m_chunkManager->setFixFlag(isFix);};
|
||||
int checkFixLastDictChunk () { return m_chunkManager->checkFixLastDictChunk(m_dctnryOID, m_dbRoot, m_partition, m_segment); };
|
||||
// void chunkManager(ChunkManager* cm);
|
||||
|
||||
/**
|
||||
* @brief virtual method in FileOp
|
||||
*/
|
||||
void setTransId(const TxnID& transId) {Dctnry::setTransId(transId); if(m_chunkManager) m_chunkManager->setTransId(transId);}
|
||||
|
||||
/**
|
||||
* @brief Set the IsInsert flag in the ChunkManager.
|
||||
* This forces flush at end of statement. Used only for bulk insert.
|
||||
*/
|
||||
void setIsInsert(bool isInsert) { m_chunkManager->setIsInsert(isInsert); }
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* @brief virtual method in FileOp
|
||||
*/
|
||||
int updateDctnryExtent(IDBDataFile* pFile, int nBlocks);
|
||||
|
||||
/**
|
||||
* @brief convert lbid to fbo
|
||||
*/
|
||||
int lbidToFbo(const uint64_t lbid, int& fbo);
|
||||
};
|
||||
|
||||
|
||||
} //end of namespace
|
||||
|
||||
#undef EXPORT
|
||||
|
||||
#endif // _WE_DCTNRY_COMPRESS_H_
|
||||
108
writeengine/wrapper/we_tablemetadata.cpp
Normal file
108
writeengine/wrapper/we_tablemetadata.cpp
Normal file
@@ -0,0 +1,108 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id$
|
||||
//
|
||||
/** @file */
|
||||
|
||||
#include <cassert>
|
||||
#include <limits>
|
||||
using namespace std;
|
||||
|
||||
#include <boost/thread/thread.hpp>
|
||||
#include <boost/thread/mutex.hpp>
|
||||
|
||||
#include "we_tablemetadata.h"
|
||||
|
||||
namespace WriteEngine
|
||||
{
|
||||
/*static*/
|
||||
boost::mutex TableMetaData::map_mutex;
|
||||
/*static*/
|
||||
TableMetaData::TableMetaDataMap TableMetaData::fTableMetaDataMap;
|
||||
|
||||
|
||||
TableMetaData* TableMetaData::makeTableMetaData(uint32_t tableOid)
|
||||
{
|
||||
boost::mutex::scoped_lock lock(map_mutex);
|
||||
TableMetaData* instance;
|
||||
TableMetaDataMap::const_iterator it = fTableMetaDataMap.find(tableOid);
|
||||
if (it == fTableMetaDataMap.end())
|
||||
{
|
||||
instance = new TableMetaData();
|
||||
fTableMetaDataMap[tableOid] = instance;
|
||||
return instance;
|
||||
}
|
||||
return it->second;
|
||||
}
|
||||
|
||||
/* static */
|
||||
void TableMetaData::removeTableMetaData(uint32_t tableOid)
|
||||
{
|
||||
boost::mutex::scoped_lock lock(map_mutex);
|
||||
TableMetaDataMap::iterator it = fTableMetaDataMap.find(tableOid);
|
||||
if (it != fTableMetaDataMap.end())
|
||||
{
|
||||
delete (*it).second;
|
||||
fTableMetaDataMap.erase(it);
|
||||
}
|
||||
}
|
||||
|
||||
TableMetaData::TableMetaData()
|
||||
{
|
||||
}
|
||||
TableMetaData::~TableMetaData()
|
||||
{
|
||||
}
|
||||
|
||||
ColExtsInfo & TableMetaData::getColExtsInfo (OID columnOid)
|
||||
{
|
||||
boost::mutex::scoped_lock lock(fColsExtsInfoLock);
|
||||
ColsExtsInfoMap::iterator it = fColsExtsInfoMap.find(columnOid);
|
||||
if (it != fColsExtsInfoMap.end())
|
||||
{
|
||||
return it->second;
|
||||
}
|
||||
else
|
||||
{
|
||||
ColExtsInfo colExtsInfo;
|
||||
fColsExtsInfoMap[columnOid] = colExtsInfo;
|
||||
return fColsExtsInfoMap[columnOid];
|
||||
}
|
||||
}
|
||||
|
||||
void TableMetaData::setColExtsInfo (OID columnOid, ColExtsInfo colExtsInfo)
|
||||
{
|
||||
boost::mutex::scoped_lock lock(fColsExtsInfoLock);
|
||||
ColsExtsInfoMap::iterator it = fColsExtsInfoMap.find(columnOid);
|
||||
if (it != fColsExtsInfoMap.end())
|
||||
{
|
||||
it->second = colExtsInfo;
|
||||
}
|
||||
else
|
||||
{
|
||||
fColsExtsInfoMap[columnOid] = colExtsInfo;
|
||||
}
|
||||
}
|
||||
|
||||
ColsExtsInfoMap& TableMetaData::getColsExtsInfoMap()
|
||||
{
|
||||
boost::mutex::scoped_lock lock(fColsExtsInfoLock);
|
||||
return fColsExtsInfoMap;
|
||||
}
|
||||
} //end of namespace
|
||||
// vim:ts=4 sw=4:
|
||||
103
writeengine/wrapper/we_tablemetadata.h
Normal file
103
writeengine/wrapper/we_tablemetadata.h
Normal file
@@ -0,0 +1,103 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id$
|
||||
//
|
||||
/** @file */
|
||||
|
||||
#ifndef WE_TABLEMETADATA_H__
|
||||
#define WE_TABLEMETADATA_H__
|
||||
|
||||
#include <stdint.h>
|
||||
#include "we_type.h"
|
||||
#include "brmtypes.h"
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
#if defined(_MSC_VER) && defined(WRITEENGINE_DLLEXPORT)
|
||||
#define EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define EXPORT
|
||||
#endif
|
||||
|
||||
namespace WriteEngine
|
||||
{
|
||||
|
||||
struct ColExtInfo {
|
||||
uint16_t dbRoot;
|
||||
uint32_t partNum;
|
||||
uint16_t segNum;
|
||||
HWM hwm;
|
||||
RID lastRid;
|
||||
int64_t max;
|
||||
int64_t min;
|
||||
bool isNewExt;
|
||||
bool current;
|
||||
uint16_t compType;
|
||||
bool isDict;
|
||||
|
||||
ColExtInfo() :
|
||||
dbRoot(0),
|
||||
partNum(0),
|
||||
segNum(0),
|
||||
hwm(0),
|
||||
lastRid(0),
|
||||
max(0),
|
||||
min(0),
|
||||
isNewExt(false),
|
||||
current(true),
|
||||
compType(2),
|
||||
isDict(false)
|
||||
{}
|
||||
};
|
||||
|
||||
typedef std::vector<ColExtInfo> ColExtsInfo;
|
||||
|
||||
typedef std::map<OID, ColExtsInfo> ColsExtsInfoMap;
|
||||
|
||||
class TableMetaData
|
||||
{
|
||||
public:
|
||||
typedef std::map <uint32_t, TableMetaData*> TableMetaDataMap;
|
||||
EXPORT static TableMetaData* makeTableMetaData(uint32_t tableOid);
|
||||
/** remove and delete the instance map to the tableOid
|
||||
* @param tableOid
|
||||
*/
|
||||
EXPORT static void removeTableMetaData(uint32_t tableOid);
|
||||
|
||||
EXPORT ColExtsInfo & getColExtsInfo (OID columnOid);
|
||||
EXPORT void setColExtsInfo (OID columnOid, ColExtsInfo colExtsInfo);
|
||||
EXPORT ColsExtsInfoMap& getColsExtsInfoMap();
|
||||
|
||||
private:
|
||||
/** Constuctors */
|
||||
explicit TableMetaData();
|
||||
explicit TableMetaData(const TableMetaData& rhs);
|
||||
~TableMetaData();
|
||||
static boost::mutex map_mutex;
|
||||
static TableMetaDataMap fTableMetaDataMap;
|
||||
boost::mutex fColsExtsInfoLock;
|
||||
ColsExtsInfoMap fColsExtsInfoMap;
|
||||
};
|
||||
|
||||
} //end of namespace
|
||||
|
||||
#undef EXPORT
|
||||
|
||||
#endif
|
||||
// vim:ts=4 sw=4:
|
||||
|
||||
4810
writeengine/wrapper/writeengine.cpp
Normal file
4810
writeengine/wrapper/writeengine.cpp
Normal file
File diff suppressed because it is too large
Load Diff
698
writeengine/wrapper/writeengine.h
Normal file
698
writeengine/wrapper/writeengine.h
Normal file
@@ -0,0 +1,698 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id: writeengine.h 4726 2013-08-07 03:38:36Z bwilkinson $
|
||||
|
||||
|
||||
/** @file */
|
||||
|
||||
#ifndef _WRITE_ENGINE_H_
|
||||
#define _WRITE_ENGINE_H_
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
|
||||
// the header file for fd
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
// end
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#ifdef _MSC_VER
|
||||
#include <unordered_map>
|
||||
#else
|
||||
#include <tr1/unordered_map>
|
||||
#endif
|
||||
|
||||
#include "we_brm.h"
|
||||
#include "we_colop.h"
|
||||
#include "we_dctnry.h"
|
||||
#include "we_index.h"
|
||||
#include "we_tablemetadata.h"
|
||||
#include "we_dbrootextenttracker.h"
|
||||
#include "we_rbmetawriter.h"
|
||||
#include "brmtypes.h"
|
||||
#include "we_chunkmanager.h"
|
||||
|
||||
#define IO_BUFF_SIZE 81920
|
||||
|
||||
#if defined(_MSC_VER) && defined(WRITEENGINE_DLLEXPORT)
|
||||
#define EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define EXPORT
|
||||
#endif
|
||||
/** Namespace WriteEngine */
|
||||
namespace WriteEngine
|
||||
{
|
||||
|
||||
//... Total compression operation: un_compresssed, compressed
|
||||
const int UN_COMPRESSED_OP = 0;
|
||||
const int COMPRESSED_OP = 1;
|
||||
const int TOTAL_COMPRESS_OP = 2;
|
||||
|
||||
//...Forward class declarations
|
||||
class Log;
|
||||
|
||||
// Bug4312. During transactions, we need to mark each extent modified as invalid.
|
||||
// In order to prevent thrashing, marking the same extent everytime we get an lbid
|
||||
// for an extent, we remember the starting lbid for each extent marked for the
|
||||
// transaction. We also add a sequence number so we can age them out of the list
|
||||
// for truly long running transactions.
|
||||
struct TxnLBIDRec
|
||||
{
|
||||
std::tr1::unordered_map<BRM::LBID_t, uint32_t> m_LBIDMap;
|
||||
uint32_t m_lastSeqnum;
|
||||
uint32_t m_squashedLbids;
|
||||
|
||||
TxnLBIDRec() : m_lastSeqnum(0), m_squashedLbids(0) {};
|
||||
~TxnLBIDRec() {}
|
||||
void AddLBID(BRM::LBID_t lbid)
|
||||
{
|
||||
m_LBIDMap[lbid] = ++m_lastSeqnum;
|
||||
}
|
||||
};
|
||||
|
||||
typedef boost::shared_ptr<TxnLBIDRec> SP_TxnLBIDRec_t;
|
||||
|
||||
/** Class WriteEngineWrapper */
|
||||
class WriteEngineWrapper : public WEObj
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
EXPORT WriteEngineWrapper();
|
||||
|
||||
EXPORT WriteEngineWrapper(const WriteEngineWrapper& rhs);
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
EXPORT ~WriteEngineWrapper();
|
||||
|
||||
/************************************************************************
|
||||
* Interface definitions
|
||||
************************************************************************/
|
||||
/**
|
||||
* @brief Performs static/global initialization for BRMWrapper.
|
||||
* Should be called once from the main thread.
|
||||
*/
|
||||
EXPORT static void init(unsigned subSystemID);
|
||||
|
||||
/**
|
||||
* @brief Build a index from an oid file (NOTE: this is write engine internal used function, just for test purpose and not for generic use
|
||||
*/
|
||||
int buildIndex(const OID& colOid, const OID& treeOid, const OID& listOid,
|
||||
execplan::CalpontSystemCatalog::ColDataType colDataType, int width, int hwm,
|
||||
bool resetFile, uint64_t& totalRows, int maxRow = IDX_DEFAULT_READ_ROW)
|
||||
{ return -1; }
|
||||
|
||||
/**
|
||||
* @brief Build a index from a file
|
||||
*/
|
||||
int buildIndex(const std::string& sourceFileName, const OID& treeOid, const OID& listOid,
|
||||
execplan::CalpontSystemCatalog::ColDataType colDataType, int width, int hwm, bool resetFile,
|
||||
uint64_t& totalRows, const std::string& indexName, Log* pLogger,
|
||||
int maxRow = IDX_DEFAULT_READ_ROW)
|
||||
{ return -1; }
|
||||
|
||||
/**
|
||||
* @brief Close a index file
|
||||
*/
|
||||
void closeIndex() { }
|
||||
|
||||
/**
|
||||
* @brief Close a dictionary
|
||||
*/
|
||||
int closeDctnry(const TxnID& txnid, int i, bool realClose = true) { return m_dctnry[op(i)]->closeDctnry(realClose); }
|
||||
|
||||
/**
|
||||
* @brief Commit transaction
|
||||
*/
|
||||
int commit(const TxnID& txnid)
|
||||
{ m_txnLBIDMap.erase(txnid); return BRMWrapper::getInstance()->commit(txnid); }
|
||||
|
||||
/**
|
||||
* @brief Convert interface value list to internal value array
|
||||
*/
|
||||
EXPORT void convertValArray(size_t totalRow, const ColType colType,
|
||||
ColTupleList& curTupleList, void* valArray,
|
||||
bool bFromList = true) ;
|
||||
|
||||
/**
|
||||
* @brief Create a column, include object ids for column data and bitmap files
|
||||
* @param dataOid column datafile object id
|
||||
* @param dataType column data type
|
||||
* @param dataWidth column width
|
||||
* @param dbRoot DBRoot under which file is to be located (1-based)
|
||||
* @param partition Starting partition number for segment file path (0-based).
|
||||
* @param compressionType compression type
|
||||
*/
|
||||
EXPORT int createColumn(const TxnID& txnid, const OID& dataOid,
|
||||
execplan::CalpontSystemCatalog::ColDataType dataType, int dataWidth,
|
||||
uint16_t dbRoot, uint32_t partition=0, int compressionType = 0);
|
||||
|
||||
//BUG931
|
||||
/**
|
||||
* @brief Fill a new column with default value using row-ids from a reference column
|
||||
*
|
||||
* @param txnid Transaction id
|
||||
* @param dataOid OID of the new column
|
||||
* @param dataType Data-type of the new column
|
||||
* @param dataWidth Width of the new column
|
||||
* @param defaultVal Default value to be filled in the new column
|
||||
* @param refColOID OID of the reference column
|
||||
* @param refColDataType Data-type of the referecne column
|
||||
* @param refColWidth Width of the reference column
|
||||
*/
|
||||
EXPORT int fillColumn(const TxnID& txnid, const OID& dataOid, execplan::CalpontSystemCatalog::ColDataType dataType,
|
||||
int dataWidth, ColTuple defaultVal,
|
||||
const OID& refColOID, execplan::CalpontSystemCatalog::ColDataType refColDataType,
|
||||
int refColWidth, int refCompressionType, bool isNULL, int compressionType,
|
||||
const std::string& defaultValStr, const OID& dictOid = 0, bool autoincrement = false);
|
||||
|
||||
/**
|
||||
* @brief Create a index related files, include object ids for index tree and list files
|
||||
|
||||
* @param treeOid index tree file object id
|
||||
* @param listOid index list file object id
|
||||
*/
|
||||
int createIndex(const TxnID& txnid, const OID& treeOid, const OID& listOid)
|
||||
{ int rc = -1; return rc;}
|
||||
|
||||
/**
|
||||
* @brief Create dictionary
|
||||
* @param dctnryOid dictionary signature file object id
|
||||
* @param partition Starting partition number for segment file path (0-based).
|
||||
* @param segment segment number
|
||||
* @param compressionType compression type
|
||||
*/
|
||||
EXPORT int createDctnry(const TxnID& txnid, const OID& dctnryOid,
|
||||
int colWidth, uint16_t dbRoot,
|
||||
uint32_t partiotion=0, uint16_t segment=0, int compressionType = 0);
|
||||
|
||||
/**
|
||||
* @brief Delete a list of rows from a table
|
||||
* @param colStructList column struct list
|
||||
* @param colOldValueList column old values list (return value)
|
||||
* @param rowIdList row id list
|
||||
*/
|
||||
EXPORT int deleteRow(const TxnID& txnid, std::vector<ColStructList>& colExtentsStruct,
|
||||
std::vector<void *>& colOldValueList, std::vector<RIDList>& ridLists, const int32_t tableOid);
|
||||
|
||||
/**
|
||||
* @brief Delete a list of rows from a table
|
||||
* @param colStructList column struct list
|
||||
* @param rowIdList row id list
|
||||
*/
|
||||
|
||||
EXPORT int deleteBadRows(const TxnID& txnid, ColStructList& colStructs,
|
||||
RIDList& ridList, DctnryStructList& dctnryStructList);
|
||||
|
||||
|
||||
/**
|
||||
* @brief delete a dictionary signature and its token
|
||||
* @param dctnryStruct dictionary structure
|
||||
* @param dctnryTuple dictionary tuple
|
||||
*/
|
||||
//ITER17_Obsolete
|
||||
// int deleteToken(const TxnID& txnid, Token& token); // Files need already open
|
||||
// int deleteToken(const TxnID& txnid, DctnryStruct& dctnryStruct, Token& token);
|
||||
|
||||
/**
|
||||
* @brief Drop a column, include object ids for column data file
|
||||
* @param dataOid column datafile object id
|
||||
*/
|
||||
int dropColumn(const TxnID& txnid, const OID dataOid)
|
||||
{ return m_colOp[0]->dropColumn((FID) dataOid); }
|
||||
|
||||
/**
|
||||
* @brief Drop files
|
||||
* @param dataOids column and dictionary datafile object id
|
||||
*/
|
||||
int dropFiles(const TxnID& txnid, const std::vector<int32_t> & dataOids)
|
||||
{ return m_colOp[0]->dropFiles(dataOids); }
|
||||
|
||||
/**
|
||||
* @brief Delete files for one partition
|
||||
* @param dataOids column and dictionary datafile object id
|
||||
*/
|
||||
int deletePartitions(const std::vector<OID> & dataOids,
|
||||
const std::vector<BRM::PartitionInfo>& partitions)
|
||||
{ return m_colOp[0]->dropPartitions(dataOids, partitions); }
|
||||
|
||||
int deleteOIDsFromExtentMap (const TxnID& txnid, const std::vector<int32_t>& dataOids)
|
||||
{ return m_colOp[0]->deleteOIDsFromExtentMap(dataOids); }
|
||||
|
||||
/**
|
||||
* @brief Create a index related files, include object ids for index tree and list files
|
||||
* @param treeOid index tree file object id
|
||||
* @param listOid index list file object id
|
||||
*/
|
||||
int dropIndex(const TxnID& txnid, const OID& treeOid, const OID& listOid)
|
||||
{ return -1; }
|
||||
|
||||
/**
|
||||
* @brief Drop a dictionary
|
||||
* @param dctnryOid dictionary signature file object id
|
||||
* @param treeOid dictionary tree file object id
|
||||
* @param listOid index list file object id
|
||||
*/
|
||||
int dropDctnry(const TxnID& txnid, const OID& dctnryOid, const OID& treeOid, const OID& listOid)
|
||||
{ return m_dctnry[0]->dropDctnry(dctnryOid); }
|
||||
|
||||
/**
|
||||
* @brief Flush VM write cache
|
||||
* @param None
|
||||
*/
|
||||
EXPORT void flushVMCache() const;
|
||||
|
||||
/**
|
||||
* @brief Insert values into a table
|
||||
* @param colStructList column structure list
|
||||
* @param colValueList column value list
|
||||
* @param dicStringListt dictionary values list
|
||||
* @param dbRootExtentTrackers dbrootTrackers
|
||||
* @param bFirstExtentOnThisPM true when there is no extent on this PM
|
||||
* @param insertSelect if insert with select, the hwm block is skipped
|
||||
* @param isAutoCommitOn if autocommit on, only the hwm block is versioned,
|
||||
* else eveything is versioned
|
||||
* @param tableOid used to get table meta data
|
||||
* @param isFirstBatchPm to track if this batch is first batch for this PM.
|
||||
*/
|
||||
EXPORT int insertColumnRecs(const TxnID& txnid,
|
||||
ColStructList& colStructList,
|
||||
ColValueList& colValueList,
|
||||
DctnryStructList& dctnryStructList,
|
||||
DictStrList& dictStrList,
|
||||
std::vector<boost::shared_ptr<DBRootExtentTracker> > & dbRootExtentTrackers,
|
||||
RBMetaWriter* fRBMetaWriter,
|
||||
bool bFirstExtentOnThisPM,
|
||||
bool insertSelect = false,
|
||||
bool isAutoCommitOn = false,
|
||||
OID tableOid = 0,
|
||||
bool isFirstBatchPm = false);
|
||||
|
||||
/**
|
||||
* @brief Insert values into systables
|
||||
* @param colStructList column structure list
|
||||
* @param colValueList column value list
|
||||
* @param dicStringListt dictionary values list
|
||||
*/
|
||||
EXPORT int insertColumnRec_SYS(const TxnID& txnid,
|
||||
ColStructList& colStructList,
|
||||
ColValueList& colValueList,
|
||||
DctnryStructList& dctnryStructList,
|
||||
DictStrList& dictStrList,
|
||||
const int32_t tableOid);
|
||||
|
||||
/**
|
||||
* @brief Insert a row
|
||||
* @param colStructList column structure list
|
||||
* @param colValueList column value list
|
||||
* @param dicStringListt dictionary values list
|
||||
*/
|
||||
EXPORT int insertColumnRec_Single(const TxnID& txnid,
|
||||
ColStructList& colStructList,
|
||||
ColValueList& colValueList,
|
||||
DctnryStructList& dctnryStructList,
|
||||
DictStrList& dictStrList,
|
||||
const int32_t tableOid);
|
||||
/**
|
||||
* @brief Open dictionary
|
||||
* @param txnid relevant transaction
|
||||
* @param dctnryStruct dictionary column to open
|
||||
* @param useTmpSuffix Bulk HDFS usage: use *.tmp file suffix
|
||||
*/
|
||||
// @bug 5572 - HDFS usage: add *.tmp file backup flag
|
||||
int openDctnry(const TxnID& txnid, DctnryStruct dctnryStruct, bool useTmpSuffix)
|
||||
{
|
||||
int compress_op = op(dctnryStruct.fCompressionType);
|
||||
m_dctnry[compress_op]->setTransId(txnid);
|
||||
return m_dctnry[compress_op]->openDctnry(
|
||||
dctnryStruct.dctnryOid,
|
||||
dctnryStruct.fColDbRoot,
|
||||
dctnryStruct.fColPartition,
|
||||
dctnryStruct.fColSegment,
|
||||
useTmpSuffix);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Rollback transaction (common portion)
|
||||
*/
|
||||
EXPORT int rollbackCommon(const TxnID& txnid, int sessionId);
|
||||
|
||||
/**
|
||||
* @brief Rollback transaction
|
||||
*/
|
||||
EXPORT int rollbackTran(const TxnID& txnid, int sessionId);
|
||||
|
||||
/**
|
||||
* @brief Rollback transaction
|
||||
*/
|
||||
EXPORT int rollbackBlocks(const TxnID& txnid, int sessionId);
|
||||
|
||||
/**
|
||||
* @brief Rollback transaction
|
||||
*/
|
||||
EXPORT int rollbackVersion(const TxnID& txnid, int sessionId);
|
||||
|
||||
/**
|
||||
* @brief Set the IsInsert flag in the ChunkManagers.
|
||||
* This forces flush at end of block. Used only for bulk insert.
|
||||
*/
|
||||
void setIsInsert(bool bIsInsert)
|
||||
{
|
||||
m_colOp[COMPRESSED_OP]->chunkManager()->setIsInsert(bIsInsert);
|
||||
m_dctnry[COMPRESSED_OP]->chunkManager()->setIsInsert(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get the IsInsert flag as set in the ChunkManagers.
|
||||
* Since both chunk managers are supposed to be in lockstep as regards the
|
||||
* isInsert flag, we need only grab one.
|
||||
*
|
||||
*/
|
||||
bool getIsInsert()
|
||||
{
|
||||
return m_colOp[COMPRESSED_OP]->chunkManager()->getIsInsert();
|
||||
}
|
||||
|
||||
std::tr1::unordered_map<TxnID, SP_TxnLBIDRec_t>& getTxnMap()
|
||||
{
|
||||
|
||||
return m_txnLBIDMap;
|
||||
};
|
||||
/**
|
||||
* @brief Flush the ChunkManagers.
|
||||
*/
|
||||
int flushChunks(int rc, const std::map<FID, FID> & columOids)
|
||||
{
|
||||
int rtn1 = m_colOp[COMPRESSED_OP]->chunkManager()->flushChunks(rc, columOids);
|
||||
int rtn2 = m_dctnry[COMPRESSED_OP]->chunkManager()->flushChunks(rc, columOids);
|
||||
|
||||
return (rtn1 != NO_ERROR ? rtn1 : rtn2);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the transaction id into all fileops
|
||||
*/
|
||||
void setTransId(const TxnID& txnid)
|
||||
{
|
||||
for (int i = 0; i < TOTAL_COMPRESS_OP; i++)
|
||||
{
|
||||
m_colOp[i]->setTransId(txnid);
|
||||
m_dctnry[i]->setTransId(txnid);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the fIsBulk id into all fileops
|
||||
*/
|
||||
void setBulkFlag(bool isBulk)
|
||||
{
|
||||
for (int i = 0; i < TOTAL_COMPRESS_OP; i++)
|
||||
{
|
||||
m_colOp[i]->setBulkFlag(isBulk);
|
||||
m_dctnry[i]->setBulkFlag(isBulk);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the fIsFix into all fileops
|
||||
*/
|
||||
void setFixFlag(bool isFix = false)
|
||||
{
|
||||
for (int i = 0; i < TOTAL_COMPRESS_OP; i++)
|
||||
{
|
||||
m_colOp[i]->setFixFlag(isFix);
|
||||
m_dctnry[i]->setFixFlag(isFix);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief let chunkmanager start transaction.
|
||||
*
|
||||
*/
|
||||
int startTransaction(const TxnID& txnid)
|
||||
{
|
||||
int rc = 0;
|
||||
rc = m_colOp[COMPRESSED_OP]->chunkManager()->startTransaction(txnid);
|
||||
//if ( rc == 0)
|
||||
// rc = m_dctnry[COMPRESSED_OP]->chunkManager()->startTransaction(txnid);
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief let chunkmanager confirm transaction.
|
||||
*
|
||||
*/
|
||||
int confirmTransaction (const TxnID& txnid)
|
||||
{
|
||||
int rc = 0;
|
||||
rc = m_colOp[COMPRESSED_OP]->chunkManager()->confirmTransaction (txnid);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief let chunkmanager end transaction.
|
||||
*
|
||||
*/
|
||||
int endTransaction(const TxnID& txnid, bool success)
|
||||
{
|
||||
int rc = 0;
|
||||
rc = m_colOp[COMPRESSED_OP]->chunkManager()->endTransaction(txnid, success);
|
||||
//if ( rc == 0)
|
||||
// rc = m_dctnry[COMPRESSED_OP]->chunkManager()->endTransaction(txnid, success);
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Tokenize a dictionary signature into a token
|
||||
* @param dctnryStruct dictionary structure
|
||||
* @param dctnryTuple dictionary tuple
|
||||
* @param useTmpSuffix Bulk HDFS usage: use *.tmp file suffix
|
||||
*/
|
||||
EXPORT int tokenize(const TxnID& txnid, DctnryTuple&, int compType ); // Files need open first
|
||||
EXPORT int tokenize(const TxnID& txnid, DctnryStruct& dctnryStruct, DctnryTuple& dctnryTuple,
|
||||
bool useTmpSuffix);
|
||||
|
||||
/**
|
||||
* @brief Update values into a column (New one)
|
||||
* @param colStructList column structure list
|
||||
* @param colValueList column value list
|
||||
* @param colOldValueList column old values list (return value)
|
||||
* @param ridList row id list
|
||||
*/
|
||||
EXPORT int updateColumnRec(const TxnID& txnid,
|
||||
std::vector<ColStructList>& colExtentsStruct,
|
||||
ColValueList& colValueList,
|
||||
std::vector<void *>& colOldValueList,
|
||||
std::vector<RIDList>& ridLists,
|
||||
std::vector<DctnryStructList>& dctnryExtentsStruct,
|
||||
DctnryValueList& dctnryValueList,
|
||||
const int32_t tableOid);
|
||||
|
||||
/**
|
||||
* @brief Update values into columns
|
||||
* @param colStructList column structure list
|
||||
* @param colValueList column value list
|
||||
* @param ridList row id list
|
||||
*/
|
||||
|
||||
EXPORT int updateColumnRecs(const TxnID& txnid,
|
||||
std::vector<ColStruct>& colStructList,
|
||||
ColValueList& colValueList,
|
||||
const RIDList & ridLists,
|
||||
const int32_t tableOid);
|
||||
|
||||
/**
|
||||
* @brief Release specified table lock.
|
||||
* @param lockID Table lock id to be released.
|
||||
* @param errorMsg Return error message
|
||||
*/
|
||||
EXPORT int clearTableLockOnly(uint64_t lockID,
|
||||
std::string& errorMsg);
|
||||
|
||||
/**
|
||||
* @brief Rollback the specified table
|
||||
* @param tableOid Table to be rolled back
|
||||
* @param lockID Table lock id of the table to be rolled back.
|
||||
* Currently used for logging only.
|
||||
* @param tableName Name of table associated with tableOid.
|
||||
* Currently used for logging only.
|
||||
* @param applName Application that is driving this bulk rollback.
|
||||
* Currently used for logging only.
|
||||
* @param debugConsole Enable logging to console
|
||||
* @param errorMsg Return error message
|
||||
*/
|
||||
EXPORT int bulkRollback(OID tableOid,
|
||||
uint64_t lockID,
|
||||
const std::string& tableName,
|
||||
const std::string& applName,
|
||||
bool debugConsole, std::string& errorMsg);
|
||||
|
||||
/**
|
||||
* @brief update SYSCOLUMN next value
|
||||
* @param oidValueMap
|
||||
*/
|
||||
EXPORT int updateNextValue(const TxnID txnId, const OID& columnoid, const uint64_t nextVal, const uint32_t sessionID, const uint16_t dbRoot);
|
||||
|
||||
/**
|
||||
* @brief write active datafiles to disk
|
||||
*
|
||||
*/
|
||||
EXPORT int flushDataFiles(int rc, const TxnID txnId, std::map<FID,FID> & columnOids);
|
||||
|
||||
/**
|
||||
* @brief Process versioning for batch insert - only version the hwm block.
|
||||
*/
|
||||
EXPORT int processBatchVersions(const TxnID& txnid, std::vector<Column> columns, std::vector<BRM::LBIDRange> & rangeList);
|
||||
|
||||
EXPORT void writeVBEnd(const TxnID& txnid, std::vector<BRM::LBIDRange> & rangeList);
|
||||
|
||||
/************************************************************************
|
||||
* Future implementations
|
||||
************************************************************************/
|
||||
/**
|
||||
* @brief Begin transaction
|
||||
*/
|
||||
// todo: add implementation when we work on version control
|
||||
// int beginTran(const TransID transOid) { return NO_ERROR; }
|
||||
|
||||
/**
|
||||
* @brief End transaction
|
||||
*/
|
||||
// todo: add implementation when we work on version control
|
||||
// int endTran(const TransID transOid) { return NO_ERROR; }
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* Internal use definitions
|
||||
************************************************************************/
|
||||
private:
|
||||
/**
|
||||
* @brief Check whether the passing parameters are valid
|
||||
*/
|
||||
int checkValid(const TxnID& txnid, const ColStructList& colStructList, const ColValueList& colValueList, const RIDList& ridList) const;
|
||||
|
||||
/**
|
||||
* @brief Convert interface column type to a internal column type
|
||||
*/
|
||||
// void convertColType(void* curStruct, const FuncType curType = FUNC_WRITE_ENGINE) const;
|
||||
|
||||
void convertValue(const ColType colType, void* valArray, size_t pos, boost::any& data, bool fromList = true);
|
||||
|
||||
/**
|
||||
* @brief Convert column value to its internal representation
|
||||
*
|
||||
* @param colType Column data-type
|
||||
* @param value Memory pointer for storing output value. Should be pre-allocated
|
||||
* @param data Column data
|
||||
*/
|
||||
void convertValue(const ColType colType, void* value, boost::any& data);
|
||||
|
||||
/**
|
||||
* @brief Print input value from DDL/DML processors
|
||||
*/
|
||||
void printInputValue(const ColStructList& colStructList, const ColValueList& colValueList, const RIDList& ridList) const;
|
||||
|
||||
/**
|
||||
* @brief Process version buffer
|
||||
*/
|
||||
int processVersionBuffer(IDBDataFile* pFile, const TxnID& txnid, const ColStruct& colStruct,
|
||||
int width, int totalRow, const RID* rowIdArray,
|
||||
std::vector<BRM::LBIDRange> & rangeList);
|
||||
|
||||
/**
|
||||
* @brief Process version buffers for update and delete @Bug 1886,2870
|
||||
*/
|
||||
int processVersionBuffers(IDBDataFile* pFile, const TxnID& txnid, const ColStruct& colStruct,
|
||||
int width, int totalRow, const RIDList& ridList,
|
||||
std::vector<BRM::LBIDRange> & rangeList);
|
||||
|
||||
int processBeginVBCopy(const TxnID& txnid, const std::vector<ColStruct> & colStructList, const RIDList & ridList,
|
||||
std::vector<BRM::VBRange> & freeList, std::vector<std::vector<uint32_t> > & fboLists,
|
||||
std::vector<std::vector<BRM::LBIDRange> > & rangeLists, std::vector<BRM::LBIDRange>& rangeListTot);
|
||||
|
||||
void setDebugLevel(const DebugLevel level)
|
||||
{
|
||||
WEObj::setDebugLevel(level);
|
||||
for (int i = 0; i < TOTAL_COMPRESS_OP; i++)
|
||||
{
|
||||
m_colOp[i]->setDebugLevel(level);
|
||||
m_dctnry[i]->setDebugLevel(level);
|
||||
}
|
||||
} // todo: cleanup
|
||||
|
||||
/**
|
||||
* @brief Common methods to write values to a column
|
||||
*/
|
||||
int writeColumnRec(const TxnID& txnid, const ColStructList& colStructList,
|
||||
ColValueList& colValueList,
|
||||
RID* rowIdArray, const ColStructList& newColStructList,
|
||||
ColValueList& newColValueList, const int32_t tableOid,
|
||||
bool useTmpSuffix, bool versioning = true);
|
||||
|
||||
|
||||
|
||||
//@Bug 1886,2870 pass the address of ridList vector
|
||||
int writeColumnRec(const TxnID& txnid, const ColStructList& colStructList,
|
||||
const ColValueList& colValueList, std::vector<void *>& colOldValueList,
|
||||
const RIDList& ridList, const int32_t tableOid,
|
||||
bool convertStructFlag = true, ColTupleList::size_type nRows = 0);
|
||||
|
||||
//For update column from column to use
|
||||
int writeColumnRecords(const TxnID& txnid, std::vector<ColStruct>& colStructList,
|
||||
ColValueList& colValueList, const RIDList & ridLists,
|
||||
const int32_t tableOid, bool versioning = true);
|
||||
|
||||
/**
|
||||
* @brief util method to convert rowid to a column file
|
||||
*
|
||||
*/
|
||||
int convertRidToColumn(RID& rid, uint16_t& dbRoot, uint32_t& partition, uint16_t& segment,
|
||||
const RID filesPerColumnPartition, const RID extentsPerSegmentFile,
|
||||
const RID extentRows, uint16_t startDBRoot, unsigned dbrootCnt);
|
||||
|
||||
// Bug 4312: We use a hash set to hold the set of starting LBIDS for a given
|
||||
// txn so that we don't waste time marking the same extent as invalid. This
|
||||
// list should be trimmed if it gets too big.
|
||||
int AddLBIDtoList(const TxnID txnid,
|
||||
std::vector<BRM::LBID_t>& lbids,
|
||||
std::vector<execplan::CalpontSystemCatalog::ColDataType>& colDataTypes,
|
||||
const ColStruct& colStruct,
|
||||
const int fbo);
|
||||
|
||||
int RemoveTxnFromLBIDMap(const TxnID txnid);
|
||||
|
||||
int op(int compressionType) { return (compressionType > 0 ? COMPRESSED_OP : UN_COMPRESSED_OP); }
|
||||
|
||||
|
||||
// This is a Map of sets of LBIDS for each transaction. A Transaction's list will be removed upon commit or rollback.
|
||||
std::tr1::unordered_map<TxnID, SP_TxnLBIDRec_t> m_txnLBIDMap;
|
||||
|
||||
ColumnOp* m_colOp[TOTAL_COMPRESS_OP]; // column operations
|
||||
Dctnry* m_dctnry[TOTAL_COMPRESS_OP]; // dictionary operations
|
||||
OpType m_opType; // operation type
|
||||
DebugLevel m_debugLevel; // debug level
|
||||
};
|
||||
|
||||
} //end of namespace
|
||||
|
||||
#undef EXPORT
|
||||
|
||||
#endif // _WRITE_ENGINE_H_
|
||||
Reference in New Issue
Block a user