SQL Query Generator

Der SQL Query Generator hilft SQL Statements zu erstellen und diese auch clientseitig mit JSON Objekten zu testen.

Das Utility sqlGen ( com/alta4/utility/SqlGen) dient dem Erstellen und Verknüpfen von SqlGenFilter Objekten.

Methoden

Name

Parameters

SQL

Rückgabetyp

Beschreibung

NOT

  • expression: SqlGenFilter

(NOT expression)

SqlGenFilter

Negiert einen Filter

AND

  • expr1... exprN: SqlGenFilter

(expr1 AND expr2 ..)

SqlGenFilter

Kombiniert mehrere Filter mit einer Und-Verbindung.

OR

  • expr1... exprN: SqlGenFilter

(expr1 OR expr2 ...)

SqlGenFilter

Kombiniert mehrere Filter mit einer Oder-Verbindung.

LT

  • key: string

  • value: number

(key < value)

SqlGenFilter

Testet ob der Wert im Feld key kleiner als value ist.

EQ

  • key: string

  • value: string|number

(key = value)

SqlGenFilter

Testet ob der Wert im Feld key gleich value ist.

NE

  • key: string

  • value: string|number

(key != value)

SqlGenFilter

Testet ob der Wert im Feld key ungleich value ist.

LE

  • key: string

  • value: number

(key <= value)

SqlGenFilter

Testet ob der Wert im Feld key kleiner oder gleich value ist.

GT

  • key: string

  • value: number

(key > value)

SqlGenFilter

Testet ob der Wert im Feld key größer oder gleich value ist

GE

  • key: string

  • value: number

(key >= value)

SqlGenFilter

Testet ob der Wert im Feld key größer als value ist.

IS_NULL

  • key: string

(key IS NULL)

SqlGenFilter

Testet ob der Wert im Feld key NULL ist.
Beim clientseitigem Test wird null und undefined gleichgesetzt.

NOT_NULL

  • key: string

(key IS NOT NULL)

SqlGenFilter

Testet ob der Wert im Feld key ungleich NULL ist.
Beim clientseitigem Test wird null und undefined gleichgesetzt.

IN

  • key: string

  • values: Array

(key IN (value1, value2, ...))

SqlGenFilter

Testet ob der Wert im Feld key in values vorhanden ist.

NOT_IN

  • key: string

  • values: Array

(key NOT IN (value1, value2, ...))

SqlGenFilter

Testet ob der Wert im Feld key in values nicht vorhanden ist.

Konstanten

Name

Typ

SQL

Beschreibung

TRUE

SqlGenFilter

(1=1)

Gibt immer true zurück

FALSE

SqlGenFilter

(1=0)

Gibt immer false zurück

Ein SqlGenFilter Objekt beinhaltet:

  • Methoden zum SQL erzeugen und clientseitigem Testen

  • Attribute zum Inspizieren der Filter Parameter (um z.B. eine View anzupassen)

Methoden

Name

Parameter

Rückgabetyp

Beschreibung

test

  • attributes: Map

boolean

Testet den Filter auf die übergebenen Daten clientseitig

toString

 

string

erzeugt einen SQL WHERE Clause.

Attribute

Name

Typ

Gesetzt durch

Beschreibung

type

string

Alle Typen

Name der SqlGen Methode

filter

SqlGenFilter

NOT

Der Filter der negiert werden soll

filters

Array<SqlGenFilter>

AND, OR

Ein Array aller Filter die geprüft werden soll

key

string

Alle außer TRUE, FALSE, NOT, AND, OR

Name der Spalte die zu prüfen ist.

value

string | number

LT, EQ, NE, LE, GT, GE

Wert auf den geprüft werden soll

values

Array<string | number>

IN, NOT_IN

Ein Array an Werten auf die geprüft werden soll

require(["com/alta4/utility/SqlGen"], function (sqlGen) {
var filter = sqlGen.AND(
sqlGen.IN('brand', ['Seat', 'Opel']),
sqlGen.LE('seats', 4),
sqlGen.GE('seats', 2),
sqlGen.TRUE );
console.log(filter.toString());
 
var test1 = {brand: 'Seat', seats: 2};
console.log(filter.test(test1), test1);
 
var test2 = {brand: 'Seat', seats: 1};
console.log(filter.test(test2), test2);
 
var test3 = {brand: 'Seato', seats: 2};
console.log(filter.test(test3), test3);
});