Skip to content

Commit 82eddfa

Browse files
committed
Creating two APIs to get query result statistics fields, one as int and the other as float. Currently only Query_internal_execution_time returns as float.
1 parent 797f380 commit 82eddfa

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

query_result.go

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const (
1919
RELATIONSHIPS_CREATED string = "Relationships created"
2020
INDICES_CREATED string = "Indices created"
2121
INDICES_DELETED string = "Indices deleted"
22-
INTERNAL_EXECUTION_TIME string = "internal execution time"
22+
INTERNAL_EXECUTION_TIME string = "Query internal execution time"
2323
CACHED_EXECUTION string = "Cached execution"
2424
)
2525

@@ -267,14 +267,23 @@ func (qr *QueryResult) parseScalar(cell []interface{}) interface{} {
267267
return s
268268
}
269269

270-
func (qr *QueryResult) getStat(stat string) int {
270+
func (qr *QueryResult) getStatAsInt(stat string) int {
271271
if val, ok := qr.statistics[stat]; ok {
272272
return int(val)
273273
} else {
274274
return 0
275275
}
276276
}
277277

278+
func (qr *QueryResult) getStatAsFloat(stat string) float64 {
279+
if val, ok := qr.statistics[stat]; ok {
280+
return val
281+
} else {
282+
fmt.Fprintf(os.Stdout, "problem")
283+
return 0.0
284+
}
285+
}
286+
278287
// Next returns true only if there is a record to be processed.
279288
func (qr *QueryResult) Next() bool {
280289
if qr.Empty() {
@@ -300,6 +309,7 @@ func (qr *QueryResult) Record() *Record {
300309
// PrettyPrint prints the QueryResult to stdout, pretty-like.
301310
func (qr *QueryResult) PrettyPrint() {
302311
if qr.Empty() {
312+
fmt.Fprintf(os.Stdout, "Empty result\n")
303313
return
304314
}
305315

@@ -331,42 +341,42 @@ func (qr *QueryResult) PrettyPrint() {
331341
}
332342

333343
func (qr *QueryResult) LabelsAdded() int {
334-
return qr.getStat(LABELS_ADDED)
344+
return qr.getStatAsInt(LABELS_ADDED)
335345
}
336346

337347
func (qr *QueryResult) NodesCreated() int {
338-
return qr.getStat(NODES_CREATED)
348+
return qr.getStatAsInt(NODES_CREATED)
339349
}
340350

341351
func (qr *QueryResult) NodesDeleted() int {
342-
return qr.getStat(NODES_DELETED)
352+
return qr.getStatAsInt(NODES_DELETED)
343353
}
344354

345355
func (qr *QueryResult) PropertiesSet() int {
346-
return qr.getStat(PROPERTIES_SET)
356+
return qr.getStatAsInt(PROPERTIES_SET)
347357
}
348358

349359
func (qr *QueryResult) RelationshipsCreated() int {
350-
return qr.getStat(RELATIONSHIPS_CREATED)
360+
return qr.getStatAsInt(RELATIONSHIPS_CREATED)
351361
}
352362

353363
func (qr *QueryResult) RelationshipsDeleted() int {
354-
return qr.getStat(RELATIONSHIPS_DELETED)
364+
return qr.getStatAsInt(RELATIONSHIPS_DELETED)
355365
}
356366

357367
func (qr *QueryResult) IndicesCreated() int {
358-
return qr.getStat(INDICES_CREATED)
368+
return qr.getStatAsInt(INDICES_CREATED)
359369
}
360370

361371
func (qr *QueryResult) IndicesDeleted() int {
362-
return qr.getStat(INDICES_DELETED)
372+
return qr.getStatAsInt(INDICES_DELETED)
363373
}
364374

365-
func (qr *QueryResult) RunTime() int {
366-
return qr.getStat(INTERNAL_EXECUTION_TIME)
375+
func (qr *QueryResult) RunTime() float64 {
376+
return qr.getStatAsFloat(INTERNAL_EXECUTION_TIME)
367377
}
368378

369379
func (qr *QueryResult) CachedExecution() int {
370-
return qr.getStat(CACHED_EXECUTION)
380+
return qr.getStatAsInt(CACHED_EXECUTION)
371381
}
372382

0 commit comments

Comments
 (0)