Savepoint prepareSavepoint() {
		// don't change auto-commit mode.
		// don't create save point.
		if (!autoSavePoint) {
			return null;
		}
		// create a savepoint
		Savepoint savepoint = null;
		try {
			conn.setAutoCommit(false);
			savepoint = conn.setSavepoint();
		} catch (SQLFeatureNotSupportedException e) {
			// jdbc driver does not support save points			
		} catch (SQLException e) {
			throw new IciqlException(e, "Could not create save point");
		}
		return savepoint;
	}