# Test for disable_load_balance_on_write on write function feature # using simple queries. # Force load balance node to 1. ##backend_weight0 = 0 ##backend_weight1 = 1 ##write_function_list = 'f1' # Disable load balance in current transaction only. (disable_load_balance_on_write = 'transaction') # (default behavior) # Create test read_only function 'Q' "DROP FUNCTION IF EXISTS f1" 'Y' 'Q' "CREATE FUNCTION f1(INTEGER) returns INTEGER AS 'SELECT $1' LANGUAGE SQL" 'Y' # Start a transaction 'Q' "BEGIN" 'Y' # Issue Parse SELECT. This should be sent to node 1. 'Q' "SELECT 1" 'Y' # Issue INSERT 'Q' "SELECT f1(1)" 'Y' # Issue another SELECT. This should be sent to primary node. 'Q' "SELECT 2" 'Y' # Issue COMMIT 'Q' "COMMIT" 'Y' # Issue another SELECT. This should be sent to node 1 because outside a transaction. 'Q' "SELECT 3" 'Y' # Start a transaction 'Q' "BEGIN" 'Y' # Issue another SELECT. This should be sent to standby node. 'Q' "SELECT 4" 'Y' # Issue COMMIT 'Q' "COMMIT" 'Y' # DROP test table 'Q' "DROP FUNCTION f1" 'Y' 'X'