-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
cost-slotted.txt
339 lines (334 loc) · 15 KB
/
cost-slotted.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
Directed match of a simple relationship, count
Directed match on self-relationship graph, count
Get rows in the middle by param
Get rows in the middle
Handle ORDER BY with LIMIT 1
Keeping used expression 1
Matching and returning ordered results, with LIMIT
ORDER BY and LIMIT can be used
ORDER BY with LIMIT 0 should not generate errors
ORDER BY with negative parameter for LIMIT should not generate errors
Returned columns do not change from using ORDER BY
Simple counting of nodes
Start the result from the second row by param
Start the result from the second row
Support column renaming for aggregates as well
Support ordering by a property after being distinct-ified
Support sort and distinct
Support multiple divisions in aggregate function
Handle aggregation on functions
Aggregates in aggregates
Aggregates with arithmetics
Aggregation of named paths
Aggregation with `min()`
Keeping used expression 2
Keeping used expression 3
Handling numerical ranges 1
Handling numerical ranges 2
Handling numerical ranges 3
Handling numerical ranges 4
Handling string ranges 1
Handling string ranges 2
Handling string ranges 3
Handling string ranges 4
Handling empty range
Comparing nodes to nodes
Comparing relationships to relationships
Fail at runtime when attempting to index with an Int into a Map
Fail at runtime when trying to index into a map with a non-string
Fail at runtime when attempting to index with a String into a Collection
Fail at runtime when trying to index into a list with a list
Fail at runtime when trying to index something which is not a map or collection
Functions should return null if they get path containing unbound
`exists()` with literal maps
IS NOT NULL with literal maps
`percentileCont()` failing on bad arguments
`percentileDisc()` failing on bad arguments
`percentileDisc()` failing in more involved query
`type()` failing on invalid arguments
Find friends of others
Should only join when matching
Adding a single label
Ignore space before colon
Adding multiple labels
Ignoring intermediate whitespace 1
Ignoring intermediate whitespace 2
Removing a label
Removing a non-existent label
Returning a list comprehension
Using a list comprehension in a WITH
Using a list comprehension in a WHERE
Path query should return results in written order
Longer path query should return results in written order
Return a simple path
Return a three node path
Do not return anything because path length does not match
Pass the path length test
Return relationships by fetching them from the path - starting from the end
Return relationships by fetching them from the path
Return a var length path
Return a var length path of length zero
Return a named var length path of length zero
Aggregation with named paths
Variable length relationship without lower bound
Variable length relationship without bounds
Optionally matching named paths
Optionally matching named paths with single and variable length patterns
Optionally matching named paths with variable length patterns
Variable length relationship in OPTIONAL MATCH
ORDER BY with LIMIT
Handling direction of named paths
Zero-length named path
Variable-length named path
Matching using a relationship that is already bound
Matching using a relationship that is already bound, in conjunction with aggregation
Matching using a relationship that is already bound, in conjunction with aggregation and ORDER BY
Matching with LIMIT and optionally matching using a relationship that is already bound
Matching with LIMIT and optionally matching using a relationship and node that are both already bound
Matching with LIMIT, then matching again using a relationship and node that are both already bound along with an additional predicate
Matching with LIMIT and predicates, then matching again using a relationship and node that are both already bound along with a duplicate predicate
Matching twice with conflicting relationship types on same relationship
Matching twice with duplicate relationship types on same relationship
Matching relationships into a list and matching variable length using the list
Matching relationships into a list and matching variable length using the list, with bound nodes
Matching relationships into a list and matching variable length using the list, with bound nodes, wrong direction
Matching and optionally matching with bound nodes in reverse direction
Matching and optionally matching with unbound nodes and equality predicate in reverse direction
Fail when using property access on primitive type
Counting an empty graph
Variable length pattern checking labels on endnodes
Undirected named path
Named path with WITH
Named path with alternating directed/undirected relationships
Named path with multiple alternating directed/undirected relationships
Named path with undirected fixed variable length pattern
Variable length patterns and nulls
Respecting direction when matching existing path
Respecting direction when matching non-existent path
Respecting direction when matching non-existent path with multiple directions
Matching path with both directions should respect other directions
Matching path with multiple bidirectional relationships
Failing on merging relationship with null property
Failing on merging node with null property
Failing when setting a list of maps as a property
Ignore null when setting property
Ignore null when removing property
Ignore null when setting properties using an appending map
Ignore null when setting properties using an overriding map
Ignore null when setting label
Ignore null when removing label
Ignore null when deleting node
Ignore null when deleting relationship
MATCH after OPTIONAL MATCH
Named paths in optional matches
Named paths inside optional matches with node predicates
Variable length optional relationships
Variable length optional relationships with length predicates
Variable length optional relationships with bound nodes
Variable length optional relationships with bound nodes, no matches
Pattern comprehension and ORDER BY
Returning a pattern comprehension
Returning a pattern comprehension with label predicate
Returning a pattern comprehension with bound nodes
Using a pattern comprehension in a WITH
Using a variable-length pattern comprehension in a WITH
Using pattern comprehension in RETURN
Aggregating on pattern comprehension
Using pattern comprehension to test existence
Pattern comprehension inside list comprehension
Get node degree via size of pattern comprehension
Get node degree via size of pattern comprehension that specifies a relationship type
Get node degree via size of pattern comprehension that specifies multiple relationship types
Introducing new node variable in pattern comprehension
Introducing new relationship variable in pattern comprehension
Should ignore nulls
Remove a single label
Remove multiple labels
Remove a single node property
Remove multiple node properties
Remove a single relationship property
Remove a single relationship property
Remove multiple relationship properties
Remove a missing property should be a valid operation
Fail when returning properties of deleted nodes
Fail when returning labels of deleted nodes
Fail when returning properties of deleted relationships
Do not fail when returning type of deleted relationships
Fail when sorting on variable removed by DISTINCT
Return all variables
Setting and returning the size of a list property
Setting and returning the size of a list property
Arithmetic expressions inside aggregation
Concatenating and returning the size of literal lists
Concatenating and returning the size of literal lists
Multiple aliasing and backreferencing
Reusing variable names
Failing when performing property access on a non-map 1
Failing when performing property access on a non-map 2
Bad arguments for `range()`
Using `rand()` in aggregations
`toBoolean()` on invalid types
`toInteger()` handling mixed number types
`toInteger()` handling Any type
`toInteger()` on a list of strings
`toInteger()` failing on invalid arguments
`toFloat()` on mixed number types
`toFloat()` handling Any type
`toFloat()` on a list of strings
`toFloat()` failing on invalid arguments
`toString()` should work on Any type
`toString()` on a list of integers
`toString()` failing on invalid arguments
Should be able to create text output from union queries
Two elements, both unique, not distinct
Two elements, both unique, distinct
Three elements, two unique, distinct
Three elements, two unique, not distinct
Unwinding a collected expression
Creating nodes from an unwound parameter list
Unwind does not remove variables from scope
Fail when asterisk operator is missing
Fail on negative bound
Handling a variable length relationship and a standard relationship in chain, zero length 1
Handling a variable length relationship and a standard relationship in chain, zero length 2
Handling a variable length relationship and a standard relationship in chain, single length 1
Handling a variable length relationship and a standard relationship in chain, single length 2
Handling a variable length relationship and a standard relationship in chain, longer 1
Handling a variable length relationship and a standard relationship in chain, longer 2
Handling a variable length relationship and a standard relationship in chain, longer 3
Handling mixed relationship patterns and directions 1
Handling mixed relationship patterns and directions 2
Handling mixed relationship patterns 1
Handling mixed relationship patterns 2
Handling relationships that are already bound in variable length paths
A simple pattern with one bound endpoint
Nested maps
Connected components succeeding WITH
Multiple WITHs using a predicate and aggregation
Fail at compile time when attempting to index with a non-integer into a list
`properties()` failing on an integer literal
`properties()` failing on a string literal
`properties()` failing on a list of booleans
Fail when adding a new label predicate on a node that is already bound 1
Fail when adding new label predicate on a node that is already bound 2
Fail when adding new label predicate on a node that is already bound 3
Fail when adding new label predicate on a node that is already bound 4
Fail when adding new label predicate on a node that is already bound 5
Failing on incorrect unicode literal
Failing on aggregation in WHERE
Failing when not aliasing expressions in WITH
Failing when using undefined variable in pattern
Failing when using undefined variable in SET
Failing when using undefined variable in DELETE
Failing when using a variable that is already bound in CREATE
// Updating queries
Fail when imposing new predicates on a variable that is already bound
Combine MATCH, WITH and CREATE
A bound node should be recognized after projection with WITH + MERGE node
A bound node should be recognized after projection with WITH + MERGE pattern
Delete nodes
Detach delete node
Delete relationships
Deleting connected nodes
Detach deleting connected nodes and relationships
Detach deleting paths
Undirected expand followed by delete and count
Undirected variable length expand followed by delete and count
Create and delete in same query
Delete optionally matched relationship
Delete on null node
Detach delete on null node
Delete on null path
Delete node from a list
Delete node from a list
Delete relationship from a list
Delete nodes from a map
Delete relationships from a map
Detach delete nodes from nested map/list
Delete relationships from nested map/list
Delete paths from nested map/list
Delete relationship with bidirectional matching
Updating one property with ON CREATE
Null-setting one property with ON CREATE
Copying properties from literal map with ON CREATE
Copying properties from literal map with ON MATCH
Copying properties from node with ON CREATE
Copying properties from node with ON MATCH
Merge node with label add label on create
Merge node with label add property on create
Merge node with label add label on match when it exists
Merge node with label add property on update when it exists
Merge node and set property on match
Should be able to use properties from match in ON CREATE
Should be able to use properties from match in ON MATCH
Should be able to use properties from match in ON MATCH and ON CREATE
Should be able to set labels on match
Should be able to set labels on match and on create
Should support updates while merging
Merges should not be able to match on deleted nodes
ON CREATE on created nodes
Creating a relationship
Matching a relationship
Matching two relationships
Filtering relationships
Creating relationship when all matches filtered out
Matching incoming relationship
Creating relationship with property
Using ON CREATE on a node
Using ON CREATE on a relationship
Using ON MATCH on created node
Using ON MATCH on created relationship
Using ON MATCH on a relationship
Using ON CREATE and ON MATCH
Creating relationship using merged nodes
Mixing MERGE with CREATE
Introduce named paths 1
Introduce named paths 2
Use outgoing direction when unspecified
Match outgoing relationship when direction unspecified
Match both incoming and outgoing relationships when direction unspecified
Using list properties via variable
Matching using list property
Using bound variables from other updating clause
UNWIND with multiple merges
Do not match on deleted entities
Do not match on deleted relationships
Aliasing of existing nodes 1
Aliasing of existing nodes 2
Double aliasing of existing nodes 1
Double aliasing of existing nodes 2
Setting a node property to null removes the existing property
Setting a relationship property to null removes the existing property
Set a property
Set a property to an expression
Set a property by selecting the node using a simple expression
Set a property by selecting the relationship using a simple expression
Setting a property to null removes the property
Add a label to a node
Adding a list property
Concatenate elements onto a list property
Concatenate elements in reverse onto a list property
Overwrite values when using +=
Retain old values when using +=
Explicit null values in a map remove old values
Non-existent values in a property map are removed with SET =
Unwind with merge
Fail when trying to create using an undirected relationship pattern
Returning nested expressions based on list property
Many CREATE clauses
Comparing across types yields null, except numbers
`labels()` failing on invalid arguments
Direction of traversed relationship is not significant for path equality, simple
In-query call to procedure that takes no arguments
Calling the same procedure twice using the same outputs in each call
In-query call to VOID procedure that takes no arguments
In-query call to VOID procedure does not consume rows
In-query call to procedure that takes no arguments and yields no results
In-query call to procedure with explicit arguments
In-query call to procedure with explicit arguments that drops all result fields
In-query call to procedure with argument of type NUMBER accepts value of type INTEGER
In-query call to procedure with argument of type NUMBER accepts value of type FLOAT
In-query call to procedure with argument of type FLOAT accepts value of type INTEGER
Standalone call to procedure with argument of type INTEGER accepts value of type FLOAT
In-query call to procedure with argument of type INTEGER accepts value of type FLOAT
In-query call to procedure with null argument