// Path: src/main/java/org/sfm/benchmark/db/jmh/DbTarget.java
// public enum DbTarget {
// 	MOCK {
// 		@Override
// 		public SQLDialect getSqlDialect() {
// 			return SQLDialect.MYSQL;
// 		}
// 	}, HSQLDB {
// 		@Override
// 		public SQLDialect getSqlDialect() {
// 			return SQLDialect.HSQLDB;
// 		}
// 	}, MYSQL {
// 		@Override
// 		public SQLDialect getSqlDialect() {
// 			return SQLDialect.MYSQL;
// 		}
// 	};
// 
// 	public abstract SQLDialect getSqlDialect();
// }
// 
// Path: src/main/java/org/sfm/benchmark/db/mockdb/MockDataSource.java
// public class MockDataSource implements DataSource {
// 	private MockConnection mockConnection = new MockConnection();
// 	@Override
// 	public PrintWriter getLogWriter() throws SQLException {
// 		return null;
// 	}
// 
// 	@Override
// 	public void setLogWriter(PrintWriter out) throws SQLException {
// 	}
// 
// 	@Override
// 	public void setLoginTimeout(int seconds) throws SQLException {
// 	}
// 
// 	@Override
// 	public int getLoginTimeout() throws SQLException {
// 		return 0;
// 	}
// 
// 	@Override
// 	public Logger getParentLogger() throws SQLFeatureNotSupportedException {
// 		return null;
// 	}
// 
// 	@Override
// 	public <T> T unwrap(Class<T> iface) throws SQLException {
// 		return null;
// 	}
// 
// 	@Override
// 	public boolean isWrapperFor(Class<?> iface) throws SQLException {
// 		return false;
// 	}
// 
// 	@Override
// 	public Connection getConnection() throws SQLException {
// 		return mockConnection;
// 	}
// 
// 	@Override
// 	public Connection getConnection(String username, String password)
// 			throws SQLException {
// 		return mockConnection;
// 	}
// 
// }


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.sfm.benchmark.db.jmh.DbTarget;
import org.sfm.benchmark.db.mockdb.MockDataSource;
import com.jolbox.bonecp.BoneCPConfig;
import com.jolbox.bonecp.BoneCPDataSource;

package org.sfm.benchmark.db;





public class ConnectionHelper {
	
	private static final int NB_BENCHMARK_OBJECT = 1000;
	public static final String TEST_SMALL_BENCHMARK_OBJECT = "TEST_SMALL_BENCHMARK_OBJECT";

	public static DataSource getDataSource(DbTarget db) {
		switch (db) {
		case MOCK:

// Path: src/main/java/org/sfm/benchmark/db/jmh/DbTarget.java
// public enum DbTarget {
// 	MOCK {
// 		@Override
// 		public SQLDialect getSqlDialect() {
// 			return SQLDialect.MYSQL;
// 		}
// 	}, HSQLDB {
// 		@Override
// 		public SQLDialect getSqlDialect() {
// 			return SQLDialect.HSQLDB;
// 		}
// 	}, MYSQL {
// 		@Override
// 		public SQLDialect getSqlDialect() {
// 			return SQLDialect.MYSQL;
// 		}
// 	};
// 
// 	public abstract SQLDialect getSqlDialect();
// }
// 
// Path: src/main/java/org/sfm/benchmark/db/mockdb/MockDataSource.java
// public class MockDataSource implements DataSource {
// 	private MockConnection mockConnection = new MockConnection();
// 	@Override
// 	public PrintWriter getLogWriter() throws SQLException {
// 		return null;
// 	}
// 
// 	@Override
// 	public void setLogWriter(PrintWriter out) throws SQLException {
// 	}
// 
// 	@Override
// 	public void setLoginTimeout(int seconds) throws SQLException {
// 	}
// 
// 	@Override
// 	public int getLoginTimeout() throws SQLException {
// 		return 0;
// 	}
// 
// 	@Override
// 	public Logger getParentLogger() throws SQLFeatureNotSupportedException {
// 		return null;
// 	}
// 
// 	@Override
// 	public <T> T unwrap(Class<T> iface) throws SQLException {
// 		return null;
// 	}
// 
// 	@Override
// 	public boolean isWrapperFor(Class<?> iface) throws SQLException {
// 		return false;
// 	}
// 
// 	@Override
// 	public Connection getConnection() throws SQLException {
// 		return mockConnection;
// 	}
// 
// 	@Override
// 	public Connection getConnection(String username, String password)
// 			throws SQLException {
// 		return mockConnection;
// 	}
// 
// }


// Path: src/main/java/org/sfm/benchmark/db/ConnectionHelper.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.sfm.benchmark.db.jmh.DbTarget;
import org.sfm.benchmark.db.mockdb.MockDataSource;
import com.jolbox.bonecp.BoneCPConfig;
import com.jolbox.bonecp.BoneCPDataSource;

package org.sfm.benchmark.db;





public class ConnectionHelper {
	
	private static final int NB_BENCHMARK_OBJECT = 1000;
	public static final String TEST_SMALL_BENCHMARK_OBJECT = "TEST_SMALL_BENCHMARK_OBJECT";

	public static DataSource getDataSource(DbTarget db) {
		switch (db) {
		case MOCK:

			return new MockDataSource();
