Skip to content

Commit

Permalink
fix MSET, implement SORT GET #
Browse files Browse the repository at this point in the history
  • Loading branch information
janl committed Dec 5, 2009
1 parent 3db4e5d commit 1396558
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
5 changes: 3 additions & 2 deletions awesome.js
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ var server = tcp.createServer(function(socket) {
bulk: true,
callback: function() {
debug("received MSET command");
var msets = this.multi_data;
var msets = that.multi_data;
for(var idx in msets) {
store.set(idx, msets[idx]);
}
Expand Down Expand Up @@ -772,6 +772,7 @@ var server = tcp.createServer(function(socket) {
},

this.setMultiBulkData = function(lines) {
lines = lines.slice(1);
var result = {};
var key = null;
for(var idx = 0; idx < lines.length; idx++) {
Expand Down Expand Up @@ -803,7 +804,7 @@ var server = tcp.createServer(function(socket) {

function debug(s) {
if(enable_debug && s !== null) {
sys.print(s.toString().substr(0,40) + eol);
sys.print(s.toString().substr(0,128) + eol);
}
}

Expand Down
13 changes: 5 additions & 8 deletions sorter.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
MIT License
*/
Object.prototype.toString = function() { return JSON.stringify(this); };

var store = require("./store");
var options = {};

Expand Down Expand Up @@ -73,13 +75,12 @@ exports.sort = function(list, key) {
var result = [];
// fetch KYES with by as the pattern,
// use the result to sort list

var sort_by_keys = store.keys(options.by);
function to_hash(values) {
var result = {};
for(var idx = 0; idx < sort_by_keys.length; idx++) {
var key = sort_by_keys[idx].match(/^[^\*]*(.+)$/)[1];
result[key] = values[key];
result[key] = values[key-1];
}
return result;
}
Expand All @@ -93,15 +94,11 @@ exports.sort = function(list, key) {
});

if(options.get) { // substitute value-keys with object values
debug("options.get: " + options.get);
return list.map(function(elm) {
if(options.get == "#") {
var index = elm - 1;
} else {
var index = options.get.replace("\*", elm);
return elm;
}
debug("get value for: " + index);
debug("value: " + store.lindex(key, index));
var index = options.get.replace("\*", elm);
return store.lindex(key, index);
});
}
Expand Down

0 comments on commit 1396558

Please sign in to comment.