@@ -80,7 +80,7 @@ class Backend {
8080
8181 case 'NewSession' :
8282 {
83- let { driverId, accessMode, bookmarks, database } = data
83+ let { driverId, accessMode, bookmarks, database, fetchSize } = data
8484 switch ( accessMode ) {
8585 case 'r' :
8686 accessMode = neo4j . session . READ
@@ -96,7 +96,8 @@ class Backend {
9696 const session = driver . session ( {
9797 defaultAccessMode : accessMode ,
9898 bookmarks,
99- database
99+ database,
100+ fetchSize
100101 } )
101102 const id = this . _context . addSession ( session )
102103 this . _writeResponse ( 'Session' , { id } )
@@ -119,7 +120,7 @@ class Backend {
119120
120121 case 'SessionRun' :
121122 {
122- const { sessionId, cypher, params } = data
123+ const { sessionId, cypher, params, txMeta : metadata , timeout } = data
123124 const session = this . _context . getSession ( sessionId )
124125 if ( params ) {
125126 for ( const [ key , value ] of Object . entries ( params ) ) {
@@ -134,7 +135,7 @@ class Backend {
134135 Promise . all ( observers . map ( obs => obs . completitionPromise ( ) ) )
135136 . catch ( _ => null )
136137 . then ( _ => {
137- const result = session . run ( cypher , params )
138+ const result = session . run ( cypher , params , { metadata , timeout } )
138139 const resultObserver = new ResultObserver ( { sessionId } )
139140 result . subscribe ( resultObserver )
140141 const id = this . _context . addResultObserver ( resultObserver )
@@ -246,6 +247,32 @@ class Backend {
246247 }
247248 break
248249
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+
249276 default :
250277 this . _writeBackendError ( 'Unknown request: ' + name )
251278 console . log ( 'Unknown request: ' + name )
0 commit comments