Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.4 kB · 54 lines
Nix
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455{ pkgs, makeTest, genTests,}:
let inherit (pkgs) lib;
makeTestFor = package: makeTest { name = "postgresql-jit-${package.name}"; meta.maintainers = with lib.maintainers; [ ma27 ];
nodes.machine = { pkgs, ... }: { services.postgresql = { inherit package; enable = true; enableJIT = true; initialScript = pkgs.writeText "init.sql" '' create table demo (id int); insert into demo (id) select generate_series(1, 5); ''; }; };
testScript = '' machine.start() machine.wait_for_unit("postgresql.target")
with subtest("JIT is enabled"): machine.succeed("sudo -u postgres psql <<<'show jit;' | grep 'on'")
with subtest("Test JIT works fine"): output = machine.succeed( "cat ${pkgs.writeText "test.sql" '' set jit_above_cost = 1; EXPLAIN ANALYZE SELECT CONCAT('jit result = ', SUM(id)) FROM demo; SELECT CONCAT('jit result = ', SUM(id)) from demo; ''} | sudo -u postgres psql" ) assert "JIT:" in output assert "jit result = 15" in output
machine.shutdown() ''; };ingenTests { inherit makeTestFor;}