ivpk / dsa

Duomenų struktūros aprašo specifikacija.
GNU Affero General Public License v3.0
0 stars 0 forks source link

Add `source.type` column #11

Open sirex opened 2 months ago

sirex commented 2 months ago

Šiuo metu turime source stulpelį, kuris atitinka source.name. Kadangi pridedame source.type, stulpelis source tampa sudėtinis:

{
    "source": {
        "name": "CITIES",
        "type": "table",
    }
}

Tam, kad išlaikytume atgalinį suderinamumą, source stulpelis gali būti naudojamas be .name galūnės.

Panašus principas naudojamas su dimensijų dataset, model, property, ... stulpeliais, kurie turi paslėptą .name galūnę.

source.type stulpelyje nurodomas originalus šaltinio duomenų ar modelio tipas, kuris priklauso nuo duomenų šaltinio tipo.

SQL atveju resource.source.type nurodo duomenų šaltinio sistemos pavadinimą, galimi variantai:

SQL atveju model.source.type galimos reikšmės būtų:

Papildomai, model.source.type gali turėti parametrus:

SQL atveju property.source.type būtų originalus duomenų bazės stulpelio tipas, pavyzdžiui VARCHAR(255).

Pavyzdys:

model property type ref source source.type origin
sql sqlite:// sqlite
City id CITIES table
id integer CITY_ID integer
name@lt string CITY_NAME varchar(255)
CityView id CITIES view materialized City
id integer CITY_ID integer id
name@lt string CITY_NAME varchar(255) name@lt