LINK:=libtool --mode=link ${CC} -rpath ${stagedir}/lib ${LDFLAGS}
INSTALL:=libtool --mode=install install
+archlib:=lib
+host_cpu:=${shell uname -m}
+ifeq (${host_cpu},x86_64)
+ archlib:=lib64
+endif
+
ifneq (${mysql_prefix},/usr)
ifeq ($(shell echo ${mysql_version} | cut -d. -f1,2),4.1)
- mysqlib := -L${mysql_prefix}/lib/mysql
+ mysqlib := -L${mysql_prefix}/${archlib}/mysql
else
- mysqlib := -L${mysql_prefix}/lib
+ mysqlib := -L${mysql_prefix}/${archlib}
endif
endif
-EXT_LIBS:=${mysqlib} -lmysqlclient -lglite_lbu_trio
+EXT_LIBS:=${mysqlib} -lmysqlclient -lz -lglite_lbu_trio
OBJS:=db.o
TESTOBJS:=dbtest.o
HDRS:=db.h
db_test: db_test.lo libglite_lbu_dbtest.la
${LINK} -o $@ $+ ${EXT_LIBS}
+db_expire: db_expire.lo libglite_lbu_dbtest.la
+ ${LINK} -o $@ $+ ${EXT_LIBS}
+
default all: compile
compile: libglite_lbu_db.la
cd coverage && $(MAKE) -f ../Makefile top_srcdir=../../ COVERAGE_FLAGS="-fprofile-arcs -ftest-coverage" check
cd coverage && for i in `echo ${OBJS} | tr ' ' '\012' | sort -u`; do gcov $$i ; done
-examples: db_test
+examples: db_test db_expire
doc:
doxygen C.dox
#include <mysqld_error.h>
#include <errmsg.h>
-#include "glite/lb-utils/trio.h"
+#include "glite/lbu/trio.h"
#include "db.h"
#define USE_TRANS(CTX) ((CTX->caps & GLITE_LBU_DB_CAP_TRANSACTIONS) != 0)
+#define dprintf(CTX, FMT...) if (CTX->caps & GLITE_LBU_DB_CAP_ERRORS) fprintf(stderr, ##FMT)
struct glite_lbu_DBContext_s {
ctx->err.code = code;
free(ctx->err.desc);
ctx->err.desc = desc ? strdup(desc) : NULL;
- fprintf(stderr, "[db] %s:%d %s\n", func, line, desc);
+ dprintf(ctx, "[db %d] %s:%d %s\n", getpid(), func, line, desc);
return code;
} else
return ctx->err.code;
pid = getpid();
*have_transactions = 0;
- asprintf(&cmd_create, "CREATE TABLE test%d (item INT)", pid);
+ asprintf(&cmd_create, "CREATE TABLE test%d (item INT) ENGINE='innodb'", pid);
asprintf(&cmd_insert, "INSERT INTO test%d (item) VALUES (1)", pid);
asprintf(&cmd_select, "SELECT item FROM test%d", pid);
asprintf(&cmd_drop, "DROP TABLE test%d", pid);
m1 = ctx->mysql;
- glite_lbu_ExecSQL(ctx, cmd_drop, NULL);
+ //glite_lbu_ExecSQL(ctx, cmd_drop, NULL);
if (glite_lbu_ExecSQL(ctx, cmd_create, NULL) != 0) goto err1;
if (glite_lbu_Transaction(ctx) != 0) goto err2;
if (glite_lbu_ExecSQL(ctx, cmd_insert, NULL) != 1) goto err2;