\set ECHO none -- Pin the longest-path semantics of circuit_subgraph's depth column -- (the change introduced when the d-DNNF inspector started reporting -- the canonical circuit-depth notion). Build a circuit where a leaf -- is reached from the root via two paths of different lengths: -- -- root = times(inner, leaf) -- direct edge: depth 1 -- inner = times(leaf) -- inner→leaf: depth 2 -- -- Shortest path from root to leaf has length 1; longest has length 2. -- Longest-path semantics report depth=2 for leaf. \pset format unaligned SET search_path TO public, provsql; CREATE TABLE cs_t(id int); INSERT INTO cs_t VALUES (1); SELECT add_provenance('cs_t'); DO $$ DECLARE leaf uuid; inner_g uuid; root uuid; BEGIN SELECT provsql INTO leaf FROM cs_t WHERE id = 1; inner_g := uuid_generate_v5(uuid_ns_provsql(), concat('cs-depth-inner', leaf)); root := uuid_generate_v5(uuid_ns_provsql(), concat('cs-depth-root', leaf)); PERFORM create_gate(inner_g, 'times', ARRAY[leaf]); PERFORM create_gate(root, 'times', ARRAY[inner_g, leaf]); PERFORM set_config('cs.leaf', leaf::text, false); PERFORM set_config('cs.root', root::text, false); END $$; -- Depth of the leaf reached from the root: 2 (longest path) under the -- canonical circuit-depth notion. (Shortest path would report 1.) SELECT depth AS leaf_depth FROM circuit_subgraph(current_setting('cs.root')::uuid) WHERE node = current_setting('cs.leaf')::uuid LIMIT 1; DROP TABLE cs_t;