1. 1var sqlite3 = require('..');
2. 1var assert = require('assert');
3. 1var helper = require('./support/helper');
4. 1
5. 1describe('parallel', function() {
6. 1 var db;
7. 1 before(function(done) {
8. 1 helper.deleteFile('test/tmp/test_parallel_inserts.db');
9. 1 helper.ensureExists('test/tmp');
10. 1 db = new sqlite3.Database('test/tmp/test_parallel_inserts.db', done);
11. 1 });
12. 1
13. 1 var columns = [];
14. 128 for (var i = 0; i < 128; i++) {
15. 128 columns.push('id' + i);
16. 128 }
17. 1
18. 1 it('should create the table', function(done) {
19. 1 db.run("CREATE TABLE foo (" + columns + ")", done);
20. 1 });
21. 1
22. 1 it('should insert in parallel', function(done) {
23. 1000 for (var i = 0; i < 1000; i++) {
24. 128000 for (var values = [], j = 0; j < columns.length; j++) {
25. 128000 values.push(i * j);
26. 128000 }
27. 1000 db.run("INSERT INTO foo VALUES (" + values + ")");
28. 1000 }
29. 1
30. 1 db.wait(done);
31. 1 });
32. 1
33. 1 it('should close the database', function(done) {
34. 1 db.close(done);
35. 1 });
36. 1
37. 1 it('should verify that the database exists', function() {
38. 1 assert.fileExists('test/tmp/test_parallel_inserts.db');
39. 1 });
40. 1
41. 1 after(function() {
42. 1 helper.deleteFile('test/tmp/test_parallel_inserts.db');
43. 1 });
44. 1});
45. 1