"Hossein S. Attar" <mhsheikh@xxxxxxxxxxxxxxxxxxxxxxxxxx> writes: > I am working on postgres optimizer code to add some statistics > collection features for an academic project. At some point in my work, I > need to be able to tell if a join is a foreign key join or not. Also in > case of a foreign key join, I need to identify which input to the join > operator has the primary key attribute and which one has teh foreign > key. In other words, when we are making a JoinPath struct, I need to > identify if the join between the inner and outer RelOptInfo structs is a > foreign key join and if so, which RelOptInfo has the primary key. Does > anyone know the best way to do this? Should I go to "joinrestrictinfo" > field and go over all expressions? Is there any easier way? The planner doesn't think there is any such thing as a "foreign key join". Perhaps you should modify the foreign key triggers (in ri_triggers.c) to collect the information you need. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org