Last modified by Martin Mahr on 2024/10/21 22:21

From version 3.1
edited by Martin Mahr
on 2024/10/21 22:21
Change comment: There is no comment for this version
To version 1.1
edited by Jan Šimeček
on 2024/07/16 13:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.mahr
1 +XWiki.simecek
Default language
... ... @@ -1,1 +1,1 @@
1 -cs
1 +en
Content
... ... @@ -3,39 +3,30 @@
3 3  Jedná se o vlastní jazyk Tritia, který umožňuje transformace na jazyk **Java **a **SQL**.
4 4  
5 5  * lze použít následující metody
6 -** viz [[TQL - metody (funkce)>>doc:.TQL-metody-funkce.WebHome]] ([[definice rozhraní>>url:https://gitlab.tritius.cz/tr/tritius/-/blob/master/project/tritius-query-language/src/main/java/cz/tritius/tql/EvaluatingMethods.java]])
6 +** viz [[TQL - metody (funkce)>>url:https://confluence.tritius.cz/pages/viewpage.action?pageId=184551266]] ([[definice rozhraní>>url:https://gitlab.tritius.cz/tr/tritius/-/blob/master/project/tritius-query-language/src/main/java/cz/tritius/tql/EvaluatingMethods.java]])
7 7  ** součástí definice je návratový typ, který indikuje, jak je možné provádět porovnání
8 8  * ne všechny podmínky lze transformovat na Java nebo SQL
9 9  ** valná většina (přes 90%) podmínek lze použít v obou jazycích
10 -** na SQL lze transformovat všechny podmínky, které nevrací NULL - viz. [[TQL - atributy>>doc:.TQL-atributy.WebHome]] ([[zdrojový kód>>url:https://gitlab.tritius.cz/tr/tritius/-/blob/master/project/tritius-query-language/src/main/java/cz/tritius/tql/SqlBindings.java]])
10 +** na SQL lze transformovat všechny podmínky, které nevrací NULL - viz. [[TQL - atributy>>url:https://confluence.tritius.cz/display/TP/TQL+-+atributy]] ([[zdrojový kód>>url:https://gitlab.tritius.cz/tr/tritius/-/blob/master/project/tritius-query-language/src/main/java/cz/tritius/tql/SqlBindings.java]])
11 11  * při ukládání objektu se provádí validace, zda je možné podmínku v tomto případě použít
12 12  * syntaxe jazyka je nejvíce podobná SQL, ale je trochu polidštěna a doplněna o operátory zkracující zápis
13 13  * **názvy atributů** a funkcí jsou vždy **case-sensitive** (záleží na velikosti písmen)
14 14  ** u názvů atributů bez parametrů se nepoužívají závorky
15 -***
15 +***
16 16  
17 17  {{{String workTypeName()}}}
18 -
19 -*
20 -**
21 21  *** příklad:
22 -***
19 +***
23 23  
24 24  {{{workTypeName = 'KN'}}}
25 -
26 -*
27 27  ** u názvů metod (s parametry) se závorky musí používat
28 -***
23 +***
29 29  
30 30  {{{boolean workHasSubfieldValueInSubfieldIds(String value, Integer... ids);}}}
31 -
32 -*
33 -**
34 34  *** příklad:
35 -***
27 +***
36 36  
37 37  {{{workHasSubfieldValueInSubfieldIds('drt', -286200, -127000)}}}
38 -
39 39  * vlastní **výrazy jazyka** (IN, LIKE, IS, NOT, NULL, AND, OR, ...) jsou **case-insensitive** (nezáleží na velikosti písmen)
40 40  
41 41  = Příklady podmínek =
... ... @@ -44,7 +44,7 @@
44 44  
45 45  Vždy se používá true/false
46 46  
47 -|
38 +|
48 48  
49 49  {{{itemActive = true
50 50  itemActive = false}}}
... ... @@ -58,7 +58,7 @@
58 58  * lze použít operátor NOT jako negaci výrazu
59 59  * pro následující typ dokumentu '**kniha**' výrazy vrací TRUE
60 60  
61 -|
52 +|
62 62  
63 63  {{{workTypeName CONTAINS 'kniha'
64 64  workTypeName STARTS 'kn'
... ... @@ -75,7 +75,7 @@
75 75  * rozšiřuje operátor LIKE o výraz IN, aby byl zkrácen zápis dlouhých podmínek
76 76  * pro následující typ dokumentu '**kniha**' výrazy vrací TRUE
77 77  
78 -|
69 +|
79 79  
80 80  {{{workTypeName CONTAINS IN ('kniha', 'PE')
81 81  workTypeName CONTAINS IN ('ni', 'PE')
... ... @@ -93,7 +93,7 @@
93 93  * lze použít pro řetězcové i číselné hodnoty
94 94  * lze použít operátor NOT jako negaci výrazu
95 95  
96 -|
87 +|
97 97  
98 98  {{{workTypeId IN (10, 11, 12)
99 99  workTypeId NOT IN (10, 11, 12)
... ... @@ -107,7 +107,7 @@
107 107  * pro vyhodnocení výrazu se používá <= a >=
108 108  ** pro ID typu dokumentu: 10, 11, 12 vrací TRUE
109 109  
110 -|
101 +|
111 111  
112 112  {{{workTypeId BETWEEN (10, 12)
113 113  currentDate BETWEEN ('18.08.2019', '20.08.2019')}}}
... ... @@ -118,7 +118,7 @@
118 118  * i když je jazyk bezpečný na NULL hodnoty, občas je třeba provést kontrolu na NULL hodnotu (zejména při použití operátoru OR)
119 119  * lze použít operátor NOT jako negaci výrazu
120 120  
121 -|
112 +|
122 122  
123 123  {{{itemLocationName = 'Moje lokace'
124 124  itemLocationName IS NULL
... ... @@ -143,7 +143,7 @@
143 143  * funkce na pravé straně výrazu
144 144  ** nowAddMonths()
145 145  
146 -|
137 +|
147 147  
148 148  {{{workTypeId = 1
149 149  workTypeId > 1
... ... @@ -162,7 +162,7 @@
162 162  
163 163  * výsledkem volání těchto funkcí je vždy TRUE nebo FALSE
164 164  
165 -|
156 +|
166 166  
167 167  {{{workHasSubfieldValueInSubfieldIds('drt', -286200, -127000)
168 168  workHasSubfieldValueInSubfieldIds('drt', -286200, -127000) AND workTypeId = -1