[Groonga-commit] groonga/gcs [master] Cleanup select function

Back to archive index

null+****@clear***** null+****@clear*****
2012年 6月 21日 (木) 17:41:29 JST


Yoji SHIDARA	2012-06-21 17:41:29 +0900 (Thu, 21 Jun 2012)

  New Revision: a2406bbe5800faf033a70bc775b8dbc9cb089bf1
  https://github.com/groonga/gcs/commit/a2406bbe5800faf033a70bc775b8dbc9cb089bf1

  Log:
    Cleanup select function

  Modified files:
    lib/api/2011-02-01/search.js

  Modified: lib/api/2011-02-01/search.js (+21 -20)
===================================================================
--- lib/api/2011-02-01/search.js    2012-06-21 17:19:14 +0900 (3ac3fce)
+++ lib/api/2011-02-01/search.js    2012-06-21 17:41:29 +0900 (14b4278)
@@ -1,31 +1,32 @@
 var Domain = require('../../domain').Domain;
 var Database = require('../../database').Database;
 
+function formatSelectResults(data) {
+  var columnList = data[0][1];
+  var columnNames = columnList.map(function(column) {
+    return column[0];
+  });
+
+  var records = data[0].slice(2);
+  var results = records.map(function(record) {
+    var object = {};
+    columnNames.forEach(function(columnName, index) {
+      object[columnName] = [record[index]];
+    });
+    return {
+      id: object._key[0],
+      data: object
+    };
+  });
+  return results;
+}
+
 function select(database, options, callback) {
-  var results = [];
   database.command('select', options, function(error, data) {
     if (error) {
       callback(error);
     } else {
-      var columnNames = [];
-      var i, j;
-      for (j = 0; j < data[0][1].length; j++) {
-        columnNames[j] = data[0][1][j][0];
-      }
-
-      for (i = 0; i < data[0].length - 2; i++) {
-        var row = data[0][i + 2];
-        var object = {};
-        for (j = 0; j < columnNames.length; j++) {
-          object[columnNames[j]] = [row[j]];
-        }
-        results[i] = {
-          id: object._key[0],
-          data: object
-        };
-      }
-
-      callback(null, results);
+      callback(null, formatSelectResults(data));
     }
   });
 }
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 



Groonga-commit メーリングリストの案内
Back to archive index