@@ -80,7 +80,7 @@ class Backend {
80
80
81
81
case 'NewSession' :
82
82
{
83
- let { driverId, accessMode, bookmarks, database } = data
83
+ let { driverId, accessMode, bookmarks, database, fetchSize } = data
84
84
switch ( accessMode ) {
85
85
case 'r' :
86
86
accessMode = neo4j . session . READ
@@ -96,7 +96,8 @@ class Backend {
96
96
const session = driver . session ( {
97
97
defaultAccessMode : accessMode ,
98
98
bookmarks,
99
- database
99
+ database,
100
+ fetchSize
100
101
} )
101
102
const id = this . _context . addSession ( session )
102
103
this . _writeResponse ( 'Session' , { id } )
@@ -119,7 +120,7 @@ class Backend {
119
120
120
121
case 'SessionRun' :
121
122
{
122
- const { sessionId, cypher, params } = data
123
+ const { sessionId, cypher, params, txMeta : metadata , timeout } = data
123
124
const session = this . _context . getSession ( sessionId )
124
125
if ( params ) {
125
126
for ( const [ key , value ] of Object . entries ( params ) ) {
@@ -134,7 +135,7 @@ class Backend {
134
135
Promise . all ( observers . map ( obs => obs . completitionPromise ( ) ) )
135
136
. catch ( _ => null )
136
137
. then ( _ => {
137
- const result = session . run ( cypher , params )
138
+ const result = session . run ( cypher , params , { metadata , timeout } )
138
139
const resultObserver = new ResultObserver ( { sessionId } )
139
140
result . subscribe ( resultObserver )
140
141
const id = this . _context . addResultObserver ( resultObserver )
@@ -246,6 +247,32 @@ class Backend {
246
247
}
247
248
break
248
249
250
+ case 'SessionLastBookmarks' :
251
+ {
252
+ const { sessionId } = data
253
+ const session = this . _context . getSession ( sessionId )
254
+ const bookmarks = session . lastBookmark ( )
255
+ this . _writeResponse ( 'Bookmarks' , { bookmarks } )
256
+ }
257
+ break
258
+
259
+ case 'SessionWriteTransaction' :
260
+ {
261
+ const { sessionId } = data
262
+ const session = this . _context . getSession ( sessionId )
263
+ session
264
+ . writeTransaction (
265
+ tx =>
266
+ new Promise ( ( resolve , reject ) => {
267
+ const id = this . _context . addTx ( tx , sessionId , resolve , reject )
268
+ this . _writeResponse ( 'RetryableTry' , { id } )
269
+ } )
270
+ )
271
+ . then ( _ => this . _writeResponse ( 'RetryableDone' , null ) )
272
+ . catch ( error => this . _writeError ( error ) )
273
+ }
274
+ break
275
+
249
276
default :
250
277
this . _writeBackendError ( 'Unknown request: ' + name )
251
278
console . log ( 'Unknown request: ' + name )
0 commit comments