SQL
Hier werden die Besonderheiten des SQL-Feature-Providers beschrieben.
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
connectionInfo | Siehe Connection-Info. | object | v2.0 | |
sourcePathDefaults | Defaults für die Pfad-Ausdrücke in sourcePath , für Details siehe SQL-Pfad-Defaults. | object | v2.0 | |
queryGeneration | Einstellungen für die Query-Generierung, für Details siehe Query-Generierung. | object | v2.0 |
Connection Info
Das Connection-Info-Objekt für SQL-Datenbanken wird wie folgt beschrieben:
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
dialect | PGIS | PGIS für PostgreSQL/PostGIS, GPKG für GeoPackage oder SQLite/SpatiaLite. | string | v2.0 |
database | Der Name der Datenbank. Für GPKG ein relativer Pfad zu einer Ressource mit Typ features * im Store (neu). | string | v2.0 | |
host | Der Datenbankhost. Wird ein anderer Port als der Standardport verwendet, ist dieser durch einen Doppelpunkt getrennt anzugeben, z.B. db:30305 . Nicht relevant für GPKG . | string | v2.0 | |
user | Der Benutzername. Nicht relevant für GPKG . | string | v2.0 | |
password | Das mit base64 kodierte Passwort des Benutzers. Nicht relevant für GPKG . | string | v2.0 | |
schemas | [] | Die Namen der Schemas in der Datenbank, auf die zugegriffen werden soll. Nicht relevant für GPKG . | array | v2.0 |
pool | see below | Einstellungen für den Connection-Pool, für Details siehe Pool. | object | v2.0 |
driverOptions | {} | Einstellungen für den JDBC-Treiber. Für PGIS werden gssEncMode , ssl , sslmode , sslcert , sslkey , sslrootcert und sslpassword durchgereicht. Für Details siehe die Dokumentation des Treibers. | object | v2.0 |
maxConnections | dynamic | Deprecated Siehe pool.maxConnections . | number | v2.0 |
maxThreads | dynamic | Deprecated Siehe maxConnections . | number | v2.0 |
minConnections | maxConnections | Deprecated Siehe pool.minConnections . | number | v2.0 |
initFailFast | true | Deprecated Siehe pool.initFailFast . | boolean | v2.0 |
computeNumberMatched | true | Deprecated Siehe Query-Generierung. | boolean | v2.0 |
pathSyntax | Deprecated Siehe SQL-Pfad-Defaults. | object | v2.0 |
Pool
Einstellungen für den Connection-Pool.
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
maxConnections | dynamic | Steuert die maximale Anzahl von Verbindungen zur Datenbank. Der Default-Wert ist abhängig von der Anzahl der Prozessorkerne und der Anzahl der Joins in der Types-Konfiguration. Der Default-Wert wird für optimale Performanz unter Last empfohlen. Der kleinstmögliche Wert ist ebenfalls von der Anzahl der Joins abhängig, kleinere Werte werden zurückgewiesen. | number | v2.0 |
minConnections | maxConnections | Steuert die minimale Anzahl von Verbindungen zur Datenbank, die jederzeit offen gehalten werden. | number | v2.0 |
initFailFast | true | Steuert, ob das Starten des Feature-Providers abgebrochen werden soll, wenn der Aufbau der ersten Connection länger dauert. Hat keinen Effekt bei minConnections: 0 . Diese Option sollte in der Regel nur auf Entwicklungssystemen deaktiviert werden. | boolean | v2.0 |
idleTimeout | 10m | Die maximale Zeit die eine Connection unbeschäftigt im Pool verbleibt. Bezieht sich nur auf Connections über der minConnections Grenze. Ein Wert von 0 bedeutet, dass unbeschäftigte Connections niemals aus dem Pool entfernt werden. | string | v2.0 |
shared | false | Wenn shared für mehrere Provider mit übereinstimmenden host , database und user aktiviert ist, teilen sich diese Provider einen Connection-Pool. Wenn eine der anderen Optionen in connectionInfo nicht übereinstimmt, schlägt der Start des Providers fehl. | boolean | v2.0 |
SQL-Pfad-Defaults
Defaults für die Pfad-Ausdrücke in sourcePath
, siehe auch SQL-Pfad-Syntax.
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
primaryKey | id | Die Standard-Spalte die zur Analyse von Joins verwendet wird, wenn keine abweichende Spalte in sourcePath gesetzt wird. | string | v2.0 |
defaultPrimaryKey | id | Deprecated Siehe primaryKey . | string | v2.0 |
sortKey | id | Die Standard-Spalte die zur Sortierung von Reihen verwendet wird, wenn keine abweichende Spalte in sourcePath gesetzt wird. Es wird empfohlen, dass als Datentyp eine Ganzzahl verwendet wird. | string | v2.0 |
defaultSortKey | id | Deprecated Siehe sortKey . | string | v2.0 |
schema | null | Das Standard-Schema das Tabellen ohne Präfix in sourcePath vorangestellt wird. | string | v3.3 |
SQL-Pfad-Syntax
In dem Beispiel oben sind die wesentlichen Elemente der Pfadsyntax in der Datenbank bereits erkennbar. Der Pfad zu einer Eigenschaft ergibt sich immer als Konkatenation der relativen Pfadangaben (sourcePath
), jeweils ergänzt um ein "/". Die Eigenschaft sourcePath
ist beim ersten Objekt, das die Objektart repräsentiert, angegeben und bei allen untergeordneten Schemaobjekten, außer es handelt sich um einen festen Wert.
Auf der obersten Ebene entspricht der Pfad einem "/" gefolgt vom Namen der Tabelle zur Objektart. Jede Zeile in der Tabelle entsprich einem Feature. Beispiel: /kita
.
Bei nachgeordneten relativen Pfadangaben zu einem Feld in derselben Tabelle wird einfach der Spaltenname angeben, z.B. name
. Daraus ergibt sich der Gesamtpfad /kita/name
.
Ein Join wird nach dem Muster [id=fk]tab
angegeben, wobei id
der Primärschlüssel der Tabelle aus dem übergeordneten Schemaobjekt ist, fk
der Fremdschlüssel aus der über den Join angebundenen Tabelle und tab
der Tabellenname. Siehe [oid=kita_fk]plaetze
in dem Beispiel oben. Bei der Verwendung einer Zwischentabelle werden zwei dieser Joins aneinandergehängt, z.B. [id=fka]a_2_b/[fkb=id]tab_b
.
Auf einer Tabelle (der Haupttabelle eines Features oder einer über Join-angebundenen Tabelle) kann zusätzlich ein einschränkender Filter durch den Zusatz {filter=ausdruck}
angegeben werden, wobei ausdruck
das Selektionskriertium in CQL2 Text spezifiziert. Für Details siehe das Modul Filter / CQL, welches die Implementierung bereitstellt, aber nicht aktiviert sein muss.
Wenn z.B. in dem Beispiel oben nur Angaben zur Belegungskapazität selektiert werden sollen, deren Wert nicht NULL und gleichzeitig größer als Null ist, dann könnte man schreiben: [oid=kita_fk]plaetze{filter=anzahl IS NOT NULL AND anzahl> 0}
.
Ein vom Standard abweichender sortKey
kann durch den Zusatz von {sortKey=Spaltenname}
nach dem Tabellennamen angegeben werden. Wenn dieser nicht eindeutig ist, kann {sortKeyUnique=false}
hinzugefügt werden.
Ein vom Standard abweichender primaryKey
kann durch den Zusatz von {primaryKey=Spaltenname}
nach dem Tabellennamen angegeben werden.
Query-Generierung
Optionen für die Query-Generierung in queryGeneration
.
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
computeNumberMatched | true | Steuert, ob bei Abfragen die Anzahl der selektierten Features berechnet und in numberMatched zurückgegeben werden soll oder ob dies aus Performancegründen unterbleiben soll. Bei großen Datensätzen empfiehlt es sich in der Regel, die Option zu deaktivieren. | boolean | v2.0 |