File tree Expand file tree Collapse file tree
Open diff view settings
Expand file tree Collapse file tree
Open diff view settings
Original file line number Diff line number Diff line change 1+ var sqlite3 = require ( '..' ) ;
2+ var assert = require ( 'assert' ) ;
3+
4+ describe ( 'query properties' , function ( ) {
5+ var db ;
6+ before ( function ( done ) {
7+ db = new sqlite3 . Database ( ':memory:' ) ;
8+ db . run ( "CREATE TABLE foo (id INT PRIMARY KEY, count INT)" , done ) ;
9+ } ) ;
10+
11+ it ( 'should upsert' , function ( done ) {
12+ var stmt = db . prepare ( "INSERT INTO foo VALUES(?, ?)" ) ;
13+ stmt . run ( 1 , 1 , function ( err ) { // insert 1
14+ if ( err ) throw err ;
15+ var upsert_stmt = db . prepare ( "INSERT INTO foo VALUES(?, ?) ON CONFLICT (id) DO UPDATE SET count = count + excluded.count" ) ;
16+ upsert_stmt . run ( 1 , 2 , function ( err ) { // add 2
17+ if ( err ) throw err ;
18+ var select_stmt = db . prepare ( "SELECT count FROM foo WHERE id = ?" ) ;
19+ select_stmt . get ( 1 , function ( err , row ) {
20+ if ( err ) throw err ;
21+ assert . equal ( row . count , 3 ) ; // equals 3
22+ } ) ;
23+ } )
24+ } ) ;
25+ db . wait ( done ) ;
26+ } ) ;
27+ } ) ;
You can’t perform that action at this time.
0 commit comments