Commit 1808a780 by Konstantin Käfer

remove memory leak from creating persistent strings

parent 4e18119b
...@@ -100,7 +100,7 @@ Handle<Value> Statement::New(const Arguments& args) { ...@@ -100,7 +100,7 @@ Handle<Value> Statement::New(const Arguments& args) {
Database* db = ObjectWrap::Unwrap<Database>(args[0]->ToObject()); Database* db = ObjectWrap::Unwrap<Database>(args[0]->ToObject());
Local<String> sql = Local<String>::Cast(args[1]); Local<String> sql = Local<String>::Cast(args[1]);
args.This()->Set(String::NewSymbol("sql"), Persistent<String>::New(sql), ReadOnly); args.This()->Set(String::NewSymbol("sql"), sql, ReadOnly);
Statement* stmt = new Statement(db); Statement* stmt = new Statement(db);
stmt->Wrap(args.This()); stmt->Wrap(args.This());
......
...@@ -67,7 +67,10 @@ exports['test inserting and retrieving rows'] = function(beforeExit) { ...@@ -67,7 +67,10 @@ exports['test inserting and retrieving rows'] = function(beforeExit) {
function(err, rows) { function(err, rows) {
if (err) throw err; if (err) throw err;
inserted += rows.length; inserted += rows.length;
var stmt = db.prepare("SELECT txt, num, flt, blb FROM foo ORDER BY num"); var stmt = db.prepare("SELECT txt, num, flt, blb FROM foo ORDER BY num", function(err) {
if (err) throw err;
assert.equal(stmt.sql, 'SELECT txt, num, flt, blb FROM foo ORDER BY num');
});
var group = this.group(); var group = this.group();
for (var i = 0; i < count + 5; i++) { for (var i = 0; i < count + 5; i++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment