#
# Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0,
# or the Eclipse Distribution License v. 1.0 which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
#

# DB Connection properties
db.driver=org.postgresql.Driver
db.xa.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/ecltests
db.user=scott
db.pwd=tiger
db.platform=org.eclipse.persistence.platform.database.PostgreSQLPlatform
db.properties=url=jdbc:postgresql://localhost:5432/ecltests
#db.ddl.debug=true
datasource.type=java.sql.Driver
#datasource.type=javax.sql.XADataSource
datasource.transactionsupport=LOCAL_TRANSACTION
#datasource.transactionsupport=XA_TRANSACTION

# Logging option for debugging
logging.level=info
