You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ce...@apache.org on 2004/05/18 19:00:08 UTC
cvs commit: logging-log4j/src/java/org/apache/log4j/db ConnectionSource.java DataSourceConnectionSource.java DriverManagerConnectionSource.java
ceki 2004/05/18 10:00:08
Modified: src/java/org/apache/log4j/db ConnectionSource.java
DataSourceConnectionSource.java
DriverManagerConnectionSource.java
Added: src/java/org/apache/log4j/db/dialect MsSQLDialect.java
mssql.sql
Log:
Added support for MSSQL as contributed by James Stauffer.
Revision Changes Path
1.1 logging-log4j/src/java/org/apache/log4j/db/dialect/MsSQLDialect.java
Index: MsSQLDialect.java
===================================================================
/*
* Copyright 1999,2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.log4j.db.dialect;
/**
* The MS SQL Server dialect is untested.
*
* @author James Stauffer
*/
public class MsSQLDialect implements SQLDialect {
public static final String SELECT_CURRVAL = "SELECT @@identity id";
public String getSelectInsertId() {
return SELECT_CURRVAL;
}
}
1.1 logging-log4j/src/java/org/apache/log4j/db/dialect/mssql.sql
Index: mssql.sql
===================================================================
-- This SQL script creates the required tables by org.apache.log4j.db.DBAppender and
-- org.apache.log4j.db.DBReceiver.
--
-- It is intended for MS SQL Server databases. This has been tested with version 7.0.
DROP TABLE logging_event_property
DROP TABLE logging_event_exception
DROP TABLE logging_event
CREATE TABLE logging_event
(
sequence_number DECIMAL(20) NOT NULL,
timestamp DECIMAL(20) NOT NULL,
rendered_message TEXT NOT NULL,
logger_name VARCHAR(254) NOT NULL,
level_string VARCHAR(254) NOT NULL,
ndc TEXT,
thread_name VARCHAR(254),
reference_flag SMALLINT,
event_id INT NOT NULL identity,
PRIMARY KEY(event_id)
)
CREATE TABLE logging_event_property
(
event_id INT NOT NULL,
mapped_key VARCHAR(254) NOT NULL,
mapped_value TEXT,
PRIMARY KEY(event_id, mapped_key),
FOREIGN KEY (event_id) REFERENCES logging_event(event_id)
)
CREATE TABLE logging_event_exception
(
event_id INT NOT NULL,
i SMALLINT NOT NULL,
trace_line VARCHAR(254) NOT NULL,
PRIMARY KEY(event_id, i),
FOREIGN KEY (event_id) REFERENCES logging_event(event_id)
)
1.3 +1 -0 logging-log4j/src/java/org/apache/log4j/db/ConnectionSource.java
Index: ConnectionSource.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/db/ConnectionSource.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ConnectionSource.java 4 May 2004 10:01:59 -0000 1.2
+++ ConnectionSource.java 18 May 2004 17:00:08 -0000 1.3
@@ -36,6 +36,7 @@
final int POSTGRES_DIALECT = 1;
final int MYSQL_DIALECT = 2;
final int ORACLE_DIALECT = 3;
+ final int MSSQL_DIALECT = 4;
/**
* Obtain a {@link java.sql.Connection} for use. The client is
1.2 +4 -0 logging-log4j/src/java/org/apache/log4j/db/DataSourceConnectionSource.java
Index: DataSourceConnectionSource.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/db/DataSourceConnectionSource.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DataSourceConnectionSource.java 18 May 2004 16:50:42 -0000 1.1
+++ DataSourceConnectionSource.java 18 May 2004 17:00:08 -0000 1.2
@@ -38,6 +38,8 @@
private static final String POSTGRES_PART = "postgresql";
private static final String MYSQL_PART = "mysql";
private static final String ORACLE_PART = "oracle";
+ private static final String MSSQL_PART = "mssqlserver4";
+
private DataSource dataSource;
int dialectCode;
@@ -100,6 +102,8 @@
return ConnectionSource.MYSQL_DIALECT;
} else if (dbName.indexOf(ORACLE_PART) != -1) {
return ConnectionSource.ORACLE_DIALECT;
+ } else if (dbName.indexOf(MSSQL_PART) != -1) {
+ return ConnectionSource.MSSQL_DIALECT;
} else {
return ConnectionSource.UNKNOWN_DIALECT;
}
1.2 +3 -0 logging-log4j/src/java/org/apache/log4j/db/DriverManagerConnectionSource.java
Index: DriverManagerConnectionSource.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/db/DriverManagerConnectionSource.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DriverManagerConnectionSource.java 18 May 2004 16:50:42 -0000 1.1
+++ DriverManagerConnectionSource.java 18 May 2004 17:00:08 -0000 1.2
@@ -70,6 +70,7 @@
static private final String POSTGRES_PART = "postgresql";
static private final String MYSQL_PART = "mysql";
static private final String ORACLE_PART = "oracle";
+ static private final String MSSQL_PART = "mssql";
private String driverClass = null;
protected String url = null;
@@ -151,6 +152,8 @@
return ConnectionSource.POSTGRES_DIALECT;
} else if (url.indexOf(MYSQL_PART) != -1) {
return ConnectionSource.MYSQL_DIALECT;
+ } else if (url.indexOf(ORACLE_PART) != -1) {
+ return ConnectionSource.ORACLE_DIALECT;
} else if (url.indexOf(ORACLE_PART) != -1) {
return ConnectionSource.ORACLE_DIALECT;
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org