Project: datamanagement
Issue DM-548: rearchitect Qserv to fix dependencies between modules in qserv/core
I looked at includes in "core/modules", here is a summary. * ":" indicates a dependency * global, log, util, wbase, wlog and xrootd are low level, it is an easy, I didn't bother showing them below * "!!!" indicates circular dependency * lower-level modules first {core} css: global: mysql: obsolete: proto: sql: mysql wconfig: sql, mysql wpublish: sql, wconfig !!! wsched <--> wcontrol !!! wcontrol <--> wdb wsched: proto, wcontrol wcontrol: mysql, sql, wsched, wdb, wcontrol, obsolete, proto wdb: sql, mysql, proto, wconfig, wcontrol xrdfs: wpublish, wdb, wconfig, sql, obsolete, wcontrol merger: sql, xrdfs xrdoss: obsolete, wpublish, xrdfs !!! control <--> qdisp !!! qana <--> qproc !!! qana <--> query !!! parser --> query -->qana --> parser !!! query --> qana --> qproc --> query control: css, merger, obsolete, qdisp, qproc, query qdisp: control qana: css, parser, qproc, query qproc: css, merger, parser, proto, qana, qdisp, query query: css, qana, qdisp parser: query {core}
Story points: 10