From b21ed682382e064803f5ac515d11458a55e7a318 Mon Sep 17 00:00:00 2001 From: prabatuty Date: Sat, 5 Jul 2008 07:43:06 +0000 Subject: [PATCH] 2010603 insert not propagated to postgres --- src/adapter/SqlOdbcStatement.cxx | 5 +++-- src/odbc/Makefile | 18 +++++++++--------- src/tools/csqlcacheserver.cxx | 28 +++++++++++++++++----------- 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/adapter/SqlOdbcStatement.cxx b/src/adapter/SqlOdbcStatement.cxx index c6f6ba4c..c1751962 100644 --- a/src/adapter/SqlOdbcStatement.cxx +++ b/src/adapter/SqlOdbcStatement.cxx @@ -28,12 +28,13 @@ DbRetVal SqlOdbcStatement::prepare(char *stmtstr) DbRetVal rv = OK; if (innerStmt) rv = ErrBadCall; if (rv != OK) return rv; - int retValue; + int retValue =0; isPrepared = false; SqlOdbcConnection *conn = (SqlOdbcConnection*)con; retValue=SQLAllocHandle (SQL_HANDLE_STMT, conn->dbHdl, &hstmt); if (retValue) return ErrBadCall; - retValue = SQLPrepare (hstmt, (unsigned char *) stmtstr, SQL_NTS); + SQLCHAR* sstr= (SQLCHAR*)stmtstr; + retValue = SQLPrepare (hstmt, sstr, SQL_NTS); if (retValue) return ErrBadCall; isPrepared = true; short totalFields=0; diff --git a/src/odbc/Makefile b/src/odbc/Makefile index c4d2ee08..fffd4207 100644 --- a/src/odbc/Makefile +++ b/src/odbc/Makefile @@ -77,14 +77,14 @@ HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/praba/csql/latest/test/csql/missing --run aclocal-1.9 +ACLOCAL = ${SHELL} /home/csql/csql/missing --run aclocal-1.9 AMDEP_FALSE = # AMDEP_TRUE = -AMTAR = ${SHELL} /home/praba/csql/latest/test/csql/missing --run tar +AMTAR = ${SHELL} /home/csql/csql/missing --run tar AR = ar -AUTOCONF = ${SHELL} /home/praba/csql/latest/test/csql/missing --run autoconf -AUTOHEADER = ${SHELL} /home/praba/csql/latest/test/csql/missing --run autoheader -AUTOMAKE = ${SHELL} /home/praba/csql/latest/test/csql/missing --run automake-1.9 +AUTOCONF = ${SHELL} /home/csql/csql/missing --run autoconf +AUTOHEADER = ${SHELL} /home/csql/csql/missing --run autoheader +AUTOMAKE = ${SHELL} /home/csql/csql/missing --run automake-1.9 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -94,7 +94,7 @@ CPPFLAGS = CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -I/home/praba/csql/jdk1.5.0_14/include -I/home/praba/csql/jdk1.5.0_14/include/linux +CXXFLAGS = -g -I/usr/java/jdk1.6.0_10/include -I/usr/java/jdk1.6.0_10/include/linux CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps @@ -120,7 +120,7 @@ LIBS = LIBTOOL = $(SHELL) $(top_builddir)/libtool LN_S = ln -s LTLIBOBJS = -MAKEINFO = ${SHELL} /home/praba/csql/latest/test/csql/missing --run makeinfo +MAKEINFO = ${SHELL} /home/csql/csql/missing --run makeinfo OBJEXT = o PACKAGE = csql PACKAGE_BUGREPORT = @@ -167,7 +167,7 @@ host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info -install_sh = /home/praba/csql/latest/test/csql/install-sh +install_sh = /home/csql/csql/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale @@ -176,7 +176,7 @@ mandir = ${datarootdir}/man mkdir_p = mkdir -p -- oldincludedir = /usr/include pdfdir = ${docdir} -prefix = /home/praba/csql/latest/test/csql/install +prefix = /home/csql/csql/install program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin diff --git a/src/tools/csqlcacheserver.cxx b/src/tools/csqlcacheserver.cxx index 0b5bd56a..cf9217fe 100644 --- a/src/tools/csqlcacheserver.cxx +++ b/src/tools/csqlcacheserver.cxx @@ -59,10 +59,10 @@ int main(int argc, char **argv) os::signal(SIGINT, sigTermHandler); os::signal(SIGTERM, sigTermHandler); - targetconn = SqlFactory::createConnection(CSqlAdapter); - DbRetVal rv = targetconn->connect("root", "manager"); + DbRetVal rv = conn.open("root", "manager"); if (rv != OK) return 1; - rv = conn.open("root", "manager"); + targetconn = SqlFactory::createConnection(CSqlAdapter); + rv = targetconn->connect("root", "manager"); if (rv != OK) return 1; if (!Conf::config.useCache()) { @@ -71,13 +71,13 @@ int main(int argc, char **argv) } AbsSqlStatement *stmt = SqlFactory::createStatement(CSqlAdapter); stmt->setConnection(targetconn); - rv = stmt->prepare("create table csql_log_int(tablename char(64), pkid int, operation int, id int not null unique auto_increment)engine='innodb';"); + /*rv = stmt->prepare("create table csql_log_int(tablename char(64), pkid int, operation int, id int not null unique auto_increment)engine='innodb';"); targetconn->beginTrans(); int rows=0; stmt->execute(rows); targetconn->commit(); stmt->free(); - delete stmt; + delete stmt;*/ printf("Cache server started\n"); int ret = 0; @@ -113,19 +113,22 @@ int getRecordsFromTargetDb(int mode) AbsSqlStatement *delstmt = SqlFactory::createStatement(CSqlAdapter); delstmt->setConnection(targetconn); if (mode == 1 ) { + //rv = delstmt->prepare("DELETE from csql_log_int where id=?;"); + if (rv != OK) {printf("Stmt prepare failed\n"); return 1; } rv = stmt->prepare("SELECT * FROM csql_log_int;"); - rv = delstmt->prepare("DELETE FROM csql_log_int where id =?;"); } else { rv = stmt->prepare("SELECT * FROM csql_log_char;"); - rv = delstmt->prepare("DELETE FROM csql_log_char where id =?;"); + if (rv != OK) {printf("Stmt prepare failed\n"); return 1; } + //rv = delstmt->prepare("DELETE from csql_log_char where id=?;"); } - if (rv != OK) return 1; + if (rv != OK) {printf("Stmt prepare failed\n"); return 1; } stmt->bindField(1, tablename); stmt->bindField(2, &pkid); stmt->bindField(3, &op); stmt->bindField(4, &id); DatabaseManager *dbMgr = conn.getDatabaseManager(); + char delStmtStr[1024]; while(true) { rv = targetconn->beginTrans(); rv = stmt->execute(rows); @@ -165,7 +168,10 @@ int getRecordsFromTargetDb(int mode) rv = targetconn->commit(); rv = targetconn->beginTrans(); //Remove record from csql_log_XXX table - delstmt->setIntParam(1, id); + sprintf(delStmtStr, "DELETE from csql_log_int where id=%d ;", id); + rv = delstmt->prepare(delStmtStr); + if (rv != OK) {printf("FAILED\n"); return 1; } + // delstmt->setIntParam(1, id); rv = delstmt->execute(rows); if (rv != OK) { @@ -176,9 +182,9 @@ int getRecordsFromTargetDb(int mode) delete stmt; delete delstmt; } - + delstmt->free(); + rv = targetconn->commit(); - //create table csql_log_int(tablename char(64), pkid int, op int, id int not null unique auto_increment); } else { stmt->close(); -- 2.11.4.GIT