public Connection getConnection()

in app/src/main/java/com/amazon/aws/partners/saasfactory/pgrls/repository/TenantAwareDataSource.java [63:75]


	public Connection getConnection() throws SQLException {
		// Every time the app asks the data source for a connection
		// set the PostgreSQL session variable to the current tenant
		// to enforce data isolation.
		Connection connection = super.getConnection();
		try (Statement sql = connection.createStatement()) {
			LOGGER.info("Setting PostgreSQL session variable app.current_tenant = '{}' on {}", determineCurrentLookupKey().toString(), this);
			sql.execute("SET SESSION app.current_tenant = '" + determineCurrentLookupKey().toString() + "'");
		} catch (Exception e) {
			LOGGER.error("Failed to execute: SET SESSION app.current_tenant = '{}'", determineCurrentLookupKey().toString(), e);
		}
		return connection;
	}