English version of xb/doc/CUSTOM_JOINS_GUIDE.md. It explains how to extend xb’s JOIN DSL for dialect-specific syntax such as ClickHouse GLOBAL JOIN or ASOF JOIN.
const (
inner_join = "INNER JOIN"
left_join = "LEFT JOIN"
right_join = "RIGHT JOIN"
cross_join = "CROSS JOIN"
asof_join = "ASOF JOIN"
global_join = "GLOBAL JOIN"
full_outer_join = "FULL OUTER JOIN"
)
Use FromX(func(*FromBuilder)) with JOIN(kind) helpers to compose multi-step pipelines.
func LATERAL() xb.JOIN {
return func() string {
return "LATERAL JOIN"
}
}
func (fb *FromBuilder) Lateral(...)) if you need extra configuration.Cond(func(*ON)) to define predicates; this keeps auto-filtering intact.GLOBAL, FINAL, etc.) expose them via FromX configuration so the rest of the chain stays portable.Refer to doc/en/BUILDER_BEST_PRACTICES.md for more patterns.