7
7
import com .orientechnologies .orient .core .record .impl .ODocument ;
8
8
import com .orientechnologies .orient .core .sql .executor .OResult ;
9
9
import com .orientechnologies .orient .core .sql .executor .OResultSet ;
10
- import java .util .Collection ;
11
10
import java .util .HashMap ;
12
- import java .util .Iterator ;
13
11
import java .util .List ;
14
12
import java .util .Map ;
15
13
import org .junit .Assert ;
@@ -33,42 +31,46 @@ public void beforeTest() {
33
31
@ Test
34
32
public void testQuery () throws Exception {
35
33
StringBuilder script = new StringBuilder ();
36
- script .append ("begin\n " );
37
- script .append ("let $a = select from foo\n " );
38
- script .append ("commit\n " );
39
- script .append ("return $a\n " );
40
- List <ODocument > qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
34
+ script .append ("begin; " );
35
+ script .append ("let $a = select from foo; " );
36
+ script .append ("commit; " );
37
+ script .append ("return $a; " );
38
+ List <OResult > qResult = db .execute ( "sql" , script .toString ()). stream (). toList ();
41
39
42
40
Assert .assertEquals (qResult .size (), 3 );
43
41
}
44
42
45
43
@ Test
46
44
public void testTx () throws Exception {
47
45
StringBuilder script = new StringBuilder ();
48
- script .append ("begin isolation REPEATABLE_READ\n " );
49
- script .append ("let $a = insert into V set test = 'sql script test'\n " );
50
- script .append ("commit retry 10\n " );
51
- script .append ("return $a\n " );
52
- ODocument qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ( );
46
+ script .append ("begin isolation REPEATABLE_READ; " );
47
+ script .append ("let $a = insert into V set test = 'sql script test'; " );
48
+ script .append ("commit retry 10; " );
49
+ script .append ("return $a; " );
50
+ OResultSet qResult = db .execute ( "sql" , script .toString ());
53
51
54
- Assert .assertNotNull (qResult );
52
+ Assert .assertNotNull (qResult .hashCode ());
53
+ qResult .close ();
55
54
}
56
55
57
56
@ Test
58
57
public void testReturnExpanded () throws Exception {
59
58
StringBuilder script = new StringBuilder ();
60
- script .append ("let $a = insert into V set test = 'sql script test'\n " );
61
- script .append ("return $a.toJSON()\n " );
62
- String qResult = db .command (new OCommandScript ("sql" , script .toString ())).execute ();
59
+ script .append ("let $a = insert into V set test = 'sql script test';" );
60
+ script .append ("return $a.toJSON() " );
61
+
62
+ List <OResult > qResultSet = db .execute ("sql" , script .toString ()).stream ().toList ();
63
+ String qResult = qResultSet .get (0 ).getProperty ("value" );
63
64
Assert .assertNotNull (qResult );
64
65
65
- new ODocument ().fromJSON (qResult );
66
+ new ODocument ().fromJSON (qResult . substring ( 1 , qResult . length () - 1 ) );
66
67
67
68
script = new StringBuilder ();
68
- script .append ("let $a = select from V limit 2\n " );
69
- script .append ("return $a.toJSON()\n " );
70
- String result = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
69
+ script .append ("let $a = select from V limit 2; " );
70
+ script .append ("return $a.toJSON() ; " );
71
+ List < OResult > resultSet = db .execute ( "sql" , script .toString ()). stream (). toList ();
71
72
73
+ String result = resultSet .get (0 ).getProperty ("value" );
72
74
Assert .assertNotNull (result );
73
75
result = result .trim ();
74
76
Assert .assertTrue (result .startsWith ("[" ));
@@ -82,53 +84,51 @@ public void testSleep() throws Exception {
82
84
83
85
StringBuilder script = new StringBuilder ();
84
86
script .append ("sleep 500" );
85
- db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
87
+ db .execute ( "sql" , script .toString ()). close ();
86
88
87
89
Assert .assertTrue (System .currentTimeMillis () - begin >= 500 );
88
90
}
89
91
90
92
@ Test
91
93
public void testConsoleLog () throws Exception {
92
94
StringBuilder script = new StringBuilder ();
93
- script .append ("LET $a = 'log'\n " );
95
+ script .append ("LET $a = 'log'; " );
94
96
script .append ("console.log 'This is a test of log for ${a}'" );
95
- db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
97
+ db .execute ( "sql" , script .toString ()). close ();
96
98
}
97
99
98
100
@ Test
99
101
public void testConsoleOutput () throws Exception {
100
102
StringBuilder script = new StringBuilder ();
101
- script .append ("LET $a = 'output'\n " );
103
+ script .append ("LET $a = 'output'; " );
102
104
script .append ("console.output 'This is a test of log for ${a}'" );
103
- db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
105
+ db .execute ( "sql" , script .toString ()). close ();
104
106
}
105
107
106
108
@ Test
107
109
public void testConsoleError () throws Exception {
108
110
StringBuilder script = new StringBuilder ();
109
- script .append ("LET $a = 'error'\n " );
111
+ script .append ("LET $a = 'error'; " );
110
112
script .append ("console.error 'This is a test of log for ${a}'" );
111
- db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
113
+ db .execute ( "sql" , script .toString ()). close ();
112
114
}
113
115
114
116
@ Test
115
117
public void testReturnObject () throws Exception {
116
118
StringBuilder script = new StringBuilder ();
117
- script .append ("return [{ a: 'b' }]" );
118
- Collection <Object > result = db .command (new OCommandScript ("sql" , script .toString ())).execute ();
119
-
120
- Assert .assertNotNull (result );
119
+ script .append ("return [{ a: 'b' }];" );
120
+ OResultSet result = db .execute ("sql" , script .toString ());
121
121
122
- Assert . assertEquals ( result .size (), 1 );
123
-
124
- Assert .assertTrue (result . iterator (). next ( ) instanceof Map );
122
+ OResult res = result .next ( );
123
+ Assert . assertTrue ( res . getProperty ( "value" ) instanceof List );
124
+ Assert .assertTrue ((( List ) res . getProperty ( "value" )). get ( 0 ) instanceof Map );
125
125
}
126
126
127
127
@ Test
128
128
public void testIncrementAndLet () throws Exception {
129
129
130
130
StringBuilder script = new StringBuilder ();
131
- script .append ("CREATE CLASS TestCounter;\n " );
131
+ script .append ("CREATE CLASS TestCounter;" );
132
132
script .append ("INSERT INTO TestCounter set weight = 3;\n " );
133
133
script .append ("LET counter = SELECT count(*) FROM TestCounter;\n " );
134
134
script .append ("UPDATE TestCounter INCREMENT weight = $counter[0].count RETURN AfTER @this;\n " );
@@ -155,121 +155,117 @@ public void testIncrementAndLetNewApi() throws Exception {
155
155
public void testIf1 () throws Exception {
156
156
StringBuilder script = new StringBuilder ();
157
157
158
- script .append ("let $a = select 1 as one\n " );
159
- script .append ("if($a[0].one = 1){\n " );
160
- script .append (" return 'OK'\n " );
161
- script .append ("}\n " );
162
- script .append ("return 'FAIL'\n " );
163
- Object qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
158
+ script .append ("let $a = select 1 as one; " );
159
+ script .append ("if($a[0].one = 1){" );
160
+ script .append (" return 'OK' ; " );
161
+ script .append ("}" );
162
+ script .append ("return 'FAIL' ; " );
163
+ List < OResult > qResult = db .execute ( "sql" , script .toString ()). stream (). toList ();
164
164
165
- Assert .assertNotNull (qResult );
166
- Assert .assertEquals (qResult , "OK" );
165
+ Assert .assertEquals (qResult .get (0 ).getProperty ("value" ), "OK" );
167
166
}
168
167
169
168
@ Test
170
169
public void testIf2 () throws Exception {
171
170
StringBuilder script = new StringBuilder ();
172
171
173
- script .append ("let $a = select 1 as one\n " );
174
- script .append ("if ($a[0].one = 1) { \n " );
175
- script .append (" return 'OK'\n " );
176
- script .append (" } \n " );
177
- script .append ("return 'FAIL'\n " );
178
- Object qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
172
+ script .append ("let $a = select 1 as one; " );
173
+ script .append ("if ($a[0].one = 1) { " );
174
+ script .append (" return 'OK' ; " );
175
+ script .append (" } " );
176
+ script .append ("return 'FAIL'; " );
177
+ List < OResult > qResult = db .execute ( "sql" , script .toString ()). stream (). toList ();
179
178
180
- Assert .assertNotNull (qResult );
181
- Assert .assertEquals (qResult , "OK" );
179
+ Assert .assertEquals (qResult .get (0 ).getProperty ("value" ), "OK" );
182
180
}
183
181
184
182
@ Test
185
183
public void testIf3 () throws Exception {
186
184
StringBuilder script = new StringBuilder ();
187
185
script .append ("let $a = select 1 as one; if($a[0].one = 1){return 'OK';}return 'FAIL';" );
188
- Object qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
189
- Assert . assertNotNull ( qResult );
190
- Assert .assertEquals (qResult , "OK" );
186
+ List < OResult > qResult = db .execute ( "sql" , script .toString ()). stream (). toList ();
187
+
188
+ Assert .assertEquals (qResult . get ( 0 ). getProperty ( "value" ) , "OK" );
191
189
}
192
190
193
191
@ Test
194
192
public void testNestedIf2 () throws Exception {
195
193
StringBuilder script = new StringBuilder ();
196
194
197
- script .append ("let $a = select 1 as one\n " );
198
- script .append ("if($a[0].one = 1){\n " );
199
- script .append (" if($a[0].one = 'zz'){\n " );
200
- script .append (" return 'FAIL'\n " );
201
- script .append (" }\n " );
202
- script .append (" return 'OK'\n " );
195
+ script .append ("let $a = select 1 as one; " );
196
+ script .append ("if($a[0].one = 1){" );
197
+ script .append (" if($a[0].one = 'zz'){" );
198
+ script .append (" return 'FAIL'; " );
199
+ script .append (" }" );
200
+ script .append (" return 'OK'; " );
203
201
script .append ("}\n " );
204
- script .append ("return 'FAIL'\n " );
205
- Object qResult = db .command (new OCommandScript ("sql" , script .toString ())).execute ();
202
+ script .append ("return 'FAIL';" );
206
203
207
- Assert .assertNotNull (qResult );
208
- Assert .assertEquals (qResult , "OK" );
204
+ List <OResult > qResult = db .execute ("sql" , script .toString ()).stream ().toList ();
205
+
206
+ Assert .assertEquals (qResult .get (0 ).getProperty ("value" ), "OK" );
209
207
}
210
208
211
209
@ Test
212
210
public void testNestedIf3 () throws Exception {
213
211
StringBuilder script = new StringBuilder ();
214
212
215
- script .append ("let $a = select 1 as one\n " );
213
+ script .append ("let $a = select 1 as one ; \n " );
216
214
script .append ("if($a[0].one = 'zz'){\n " );
217
215
script .append (" if($a[0].one = 1){\n " );
218
- script .append (" return 'FAIL'\n " );
216
+ script .append (" return 'FAIL' ; \n " );
219
217
script .append (" }\n " );
220
- script .append (" return 'FAIL'\n " );
218
+ script .append (" return 'FAIL' ; \n " );
221
219
script .append ("}\n " );
222
- script .append ("return 'OK'\n " );
223
- Object qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
220
+ script .append ("return 'OK' ; \n " );
221
+ List < OResult > qResult = db .execute ( "sql" , script .toString ()). stream (). toList ();
224
222
225
- Assert .assertNotNull (qResult );
226
- Assert .assertEquals (qResult , "OK" );
223
+ Assert .assertEquals (qResult .get (0 ).getProperty ("value" ), "OK" );
227
224
}
228
225
229
226
@ Test
230
227
public void testIfRealQuery () throws Exception {
231
228
StringBuilder script = new StringBuilder ();
232
229
233
- script .append ("let $a = select from foo\n " );
230
+ script .append ("let $a = select from foo; \n " );
234
231
script .append ("if($a is not null and $a.size() = 3){\n " );
235
- script .append (" return $a\n " );
232
+ script .append (" return $a ; \n " );
236
233
script .append ("}\n " );
237
- script .append ("return 'FAIL'\n " );
238
- Object qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
234
+ script .append ("return 'FAIL'; \n " );
235
+ List < OResult > qResult = db .execute ( "sql" , script .toString ()). stream (). toList ();
239
236
240
237
Assert .assertNotNull (qResult );
241
- Assert .assertEquals ((( List ) qResult ) .size (), 3 );
238
+ Assert .assertEquals (qResult .size (), 3 );
242
239
}
243
240
244
241
@ Test
245
242
public void testIfMultipleStatements () throws Exception {
246
243
StringBuilder script = new StringBuilder ();
247
244
248
- script .append ("let $a = select 1 as one\n " );
245
+ script .append ("let $a = select 1 as one; \n " );
249
246
script .append ("if($a[0].one = 1){\n " );
250
- script .append (" let $b = select 'OK' as ok\n " );
251
- script .append (" return $b[0].ok\n " );
247
+ script .append (" let $b = select 'OK' as ok; \n " );
248
+ script .append (" return $b[0].ok; \n " );
252
249
script .append ("}\n " );
253
- script .append ("return 'FAIL'\n " );
254
- Object qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
250
+ script .append ("return 'FAIL'; " );
251
+ List < OResult > qResult = db .execute ( "sql" , script .toString ()). stream (). toList ();
255
252
256
253
Assert .assertNotNull (qResult );
257
- Assert .assertEquals (qResult , "OK" );
254
+ Assert .assertEquals (qResult . get ( 0 ). getProperty ( "value" ) , "OK" );
258
255
}
259
256
260
257
@ Test
261
258
public void testScriptSubContext () throws Exception {
262
259
StringBuilder script = new StringBuilder ();
263
260
264
- script .append ("let $a = select from foo limit 1\n " );
261
+ script .append ("let $a = select from foo limit 1; " );
265
262
script .append ("select from (traverse doesnotexist from $a)\n " );
266
- Iterable qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ( );
263
+ OResultSet qResult = db .execute ( "sql" , script .toString ());
267
264
268
- Assert .assertNotNull (qResult );
269
- Iterator iterator = qResult .iterator ();
270
- Assert .assertTrue (iterator .hasNext ());
271
- iterator .next ();
272
- Assert .assertFalse (iterator .hasNext ());
265
+ Assert .assertTrue (qResult .hasNext ());
266
+ qResult .next ();
267
+ Assert .assertFalse (qResult .hasNext ());
268
+ qResult .close ();
273
269
}
274
270
275
271
@ Test
@@ -278,12 +274,12 @@ public void testSemicolonInString() throws Exception {
278
274
// testing parsing problem
279
275
StringBuilder script = new StringBuilder ();
280
276
281
- script .append ("let $a = select 'foo ; bar' as one\n " );
282
- script .append ("let $b = select 'foo \\ \' ; bar' as one\n " );
277
+ script .append ("let $a = select 'foo ; bar' as one; " );
278
+ script .append ("let $b = select 'foo \\ \' ; bar' as one; " );
283
279
284
- script .append ("let $a = select \" foo ; bar\" as one\n " );
285
- script .append ("let $b = select \" foo \\ \" ; bar\" as one\n " );
286
- Object qResult = db .command ( new OCommandScript ( "sql" , script .toString ())). execute ();
280
+ script .append ("let $a = select \" foo ; bar\" as one; " );
281
+ script .append ("let $b = select \" foo \\ \" ; bar\" as one; " );
282
+ db .execute ( "sql" , script .toString ()). close ();
287
283
}
288
284
289
285
@ Test
@@ -292,7 +288,7 @@ public void testQuotedRegex() {
292
288
db .command ("CREATE CLASS QuotedRegex2" ).close ();
293
289
String batch = "INSERT INTO QuotedRegex2 SET regexp=\" '';\" " ;
294
290
295
- db .command ( new OCommandScript ( batch .toString ())). execute ();
291
+ db .execute ( "sql" , batch .toString ()). close ();
296
292
297
293
OResultSet result = db .query ("SELECT FROM QuotedRegex2" );
298
294
OResult doc = result .next ();
0 commit comments