Update of /cvsroot/firebird/interclient/20/dev/interserver
In directory usw-pr-cvs1:/tmp/cvs-serv28492
Modified Files:
IB_Defines.h IB_Statement.cpp interserver.cpp
Log Message:
Added sql logging to interserver, thanks to Micael Wyraz (mic...@ev...). Use -l command line switch.
Index: IB_Defines.h
===================================================================
RCS file: /cvsroot/firebird/interclient/20/dev/interserver/IB_Defines.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -U3 -r1.3 -r1.4
--- IB_Defines.h 2001/04/17 12:49:43 1.3
+++ IB_Defines.h 2001/06/18 19:26:30 1.4
@@ -119,4 +119,7 @@
void errorLog (char* what);
+//Sql logging by Michael Wyraz
+void sqlLog (char* what);
+
#endif
Index: IB_Statement.cpp
===================================================================
RCS file: /cvsroot/firebird/interclient/20/dev/interserver/IB_Statement.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -U3 -r1.2 -r1.3
--- IB_Statement.cpp 2001/02/06 15:31:35 1.2
+++ IB_Statement.cpp 2001/06/18 19:26:30 1.3
@@ -155,7 +155,7 @@
IB_Statement::prepareNoInputNoOutput (const IB_STRING sqlString)
{
//david jencks 2-4-2001
-// errorLog(sqlString);//uncomment to log all sql statements executed
+ sqlLog(sqlString);// logging all sql statements
if (!stmtHandle_)
open ();
@@ -195,7 +195,7 @@
const IB_SSHORT16 maxFieldSize)
{
//david jencks 2-4-2001
-// errorLog(sqlString);//uncomment to log all sql statements executed
+ sqlLog(sqlString); // logg all sql statements
if (!stmtHandle_)
Index: interserver.cpp
===================================================================
RCS file: /cvsroot/firebird/interclient/20/dev/interserver/interserver.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -U3 -r1.2 -r1.3
--- interserver.cpp 2001/04/17 12:49:43 1.2
+++ interserver.cpp 2001/06/18 19:26:30 1.3
@@ -48,6 +48,8 @@
#include "NetTCP.h"
#include "VersionInformation.h"
+bool sql_logging_ = false;
+
// This is not thread safe.
// Just hope that this doesn't happen too often.
void errorLog (char* what)
@@ -71,6 +73,32 @@
}
}
+
+// michael wyraz, 2001-06-12: added sql logging with parameter "-l"
+// This is not thread safe.
+// Just hope that this doesn't happen too often.
+void sqlLog (char* what)
+{
+ if (!sql_logging_) return;
+ // For an InterServer application, this log file goes
+ // to the proper directory, but for a service on NT,
+ // the log file goes to win32 or some such system directory.
+ // !!! When we get time, extract the root directory from
+ // !!! the registry to prefix interserver.log.
+ // !!! See ISC_get_registry_var and GetProfileString as used
+ // !!! in gds.c::gds__prefix and gds.c::gds__log
+#ifdef UNIX
+ FILE* f = fopen ("/usr/interclient/interserver_sql.log", "a");
+#else
+ FILE* f = fopen ("interserver_sql.log", "a");
+#endif
+ if (f) {
+ fprintf (f, "%s\n", what);
+ fflush (f);
+ fclose (f);
+ }
+}
+
// Not thread safe.
// This tracing will not work for multiple connections!
#ifdef TRACEON
@@ -133,7 +161,7 @@
// forked by services manager or by user initiated daemon
if (newSockfd != 0)
goto fork_start;
-
+
#else
register char *s;
@@ -172,6 +200,11 @@
EXIT(0);
default:
+
+ case 'l':
+ // sql logging enabled
+ sql_logging_ = true;
+ break;
Error::err_quit ("unknown command line option: %c", *s);
}
#endif
|