File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree 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