[CWEP002] introduce RQLRelationRewriter
Refactor existing RQLRewriter for later reuse of rewriting relation as specified
by CWEP002. Work is different because we simply want to replace a relation by
another rql snippet and we don't have to bother with EXISTS, subqueries and all.
This rewriter is not yet plugged into the querier.
Depends on yams 0.40 API.
Related to #3546717
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="34.96917"
height="38.653542"
id="svg4127"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="logo-cubicweb-icon.svg">
<defs
id="defs4129" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="13.633938"
inkscape:cx="17.899925"
inkscape:cy="19.290099"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1362"
inkscape:window-height="729"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="0" />
<metadata
id="metadata4132">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-327.28442,-551.94182)">
<g
transform="translate(156.19657,208.23676)"
id="g3408">
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path3410"
d="m 196.89624,349.49384 -8.06851,4.8684 0,10.62195 8.06851,-4.8684 z"
style="fill:#ff8800;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
style="fill:#ff8800;fill-opacity:1;stroke:none"
d="m 188.28608,343.70506 8.00049,4.84516 -8.00049,4.78822 -8.00051,-4.78822 z"
id="path3412" />
<path
style="fill:#ff8800;fill-opacity:1;stroke:none"
d="m 187.69852,366.86825 -8.06851,4.8684 0,10.62195 8.06851,-4.8684 z"
id="path3414"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
id="path3416"
d="m 179.08836,361.07947 8.00049,4.84516 -8.00049,4.78822 -8.00051,-4.78822 z"
style="fill:#ff8800;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path3418"
d="m 206.05702,366.86825 -8.06851,4.8684 0,10.62195 8.06851,-4.8684 z"
style="fill:#ff8800;fill-opacity:1;stroke:none" />
<path
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0"
id="path3420"
d="m 197.41294,361.10753 -8.00027,4.84524 8.00686,4.78602 c 0.0406,-0.0455 6.64235,-2.44836 7.44329,-10.21298 -2.81627,1.46 -3.71023,2.32033 -7.44988,0.58175 z"
style="fill:#404042;fill-opacity:1;stroke:none" />
</g>
</g>
</svg>