Pagination
L'interfaccia non offre pagination per offset né per cursore.
L'insieme dei risultati per richiesta è delimitato dall'argomento
limit e da filtri su una colonna adatta.
Limite di righe
| Proprietà | Valore |
|---|---|
Valore massimo di limit | 10 000 |
Comportamento senza limit | come limit: 10 000 con controllo di superamento |
| Ordinamento dei risultati | non definito |
Non avviene alcun troncamento silenzioso: una richiesta il cui insieme di risultati supera il limite viene respinta con un messaggio d'errore.
Messaggi d'errore
Per un valore di limit superiore a 10 000:
limit cannot exceed 10000 rows per query
Per una richiesta senza limit il cui insieme di risultati supera
il limite:
Query returned more than 10000 rows. Please narrow your query using
filters or specify a limit.
Iterazione su finestre di filtro
Gli insiemi più ampi vengono suddivisi in più richieste con
finestre di filtro disgiunte. La scelta del campo di filtro dipende
dai filtri disponibili nella tabella. Schemi tipici sono finestre
temporali su timestamp, iterazione sulle stazioni, o iterazione
su un'altra chiave discriminante della tabella.
query Window($from: AWSDateTime!, $to: AWSDateTime!) {
water {
observations {
data_1day_mean(
where: {
station: { no: { _eq: "2009" } }
timestamp: { _gte: $from, _lt: $to }
}
) {
timestamp
value
unitSymbol
}
}
}
}
Le finestre vengono assemblate lato client nell'ordine desiderato. Un esempio di codice si trova sotto Python.
Dimensione della finestra
La dimensione adeguata della finestra dipende dal numero atteso di record per finestra. Va scelta in modo che ogni richiesta rimanga in modo affidabile sotto 10 000 record, con un margine per la variabilità tipica della densità dei dati. La densità attesa è descritta nella pagina del set di dati corrispondente.