zazuko/xrm

Multiline source query

Closed this issue · 2 comments

vhf commented

It would be nice to support a multiline string instead of single-line in source query.

Here's an extreme example where the single line makes it unreadable:

  logical-source t_parlamentarier {
    source query "select id, beruf_interessengruppe_id, fraktion_id, kanton_id, militaerischer_grad_id, parlament_biografie_id, partei_id, rat_id, vorname, zweiter_vorname, nachname, geburtstag, adresse_firma, adresse_ort, adresse_plz, aemter, anzahl_kinder, arbeitssprache, beruf, beruf_fr, facebook_name, fraktionsfunktion, geschlecht, homepage, homepage_2, im_rat_bis, im_rat_seit, kleinbild, kommissionen, linkedin_profil_url, parlament_interessenbindungen, parlament_interessenbindungen_json, parlament_interessenbindungen_updated, parlament_number, parteifunktion, photo_dateierweiterung, photo_dateiname, photo_dateiname_voll, photo_mime_type, ratsunterbruch_bis, ratsunterbruch_von, ratswechsel, sitzplatz, sprache, titel, twitter_name, weitere_aemter, wikipedia, xing_profil_name, zivilstand, rat.parlament_id as council_fk, partei.abkuerzung as party_fk from parlamentarier left join rat on parlamentarier.rat_id = rat.id left join partei on partei.id = parlamentarier.partei_id"

Here's another example with a before/after:

  logical-source t_occupation_people {
    source query "select distinct(beruf) as beruf, beruf_fr from ((select beruf, beruf_fr from person) union (select beruf, beruf_fr from parlamentarier)) as foo"
  logical-source t_occupation_people {
    source query """
      select
        distinct(beruf) as beruf, beruf_fr
      from (
          (select beruf, beruf_fr from person)
        union
          (select beruf, beruf_fr from parlamentarier)
        ) as foo
      """

Multiline string is already supported. Can you try if the following works for you? (works for me, tested in Eclipse)

logical-source t_occupation_people {
  source query "
      select
        distinct(beruf) as beruf, beruf_fr
      from (
          (select beruf, beruf_fr from person)
        union
          (select beruf, beruf_fr from parlamentarier)
        ) as foo
      "
vhf commented

It works, thanks!