[Groonga-commit] groonga/gcs [master] Prepare to use meta information of columns from search and batch

Back to archive index

null+****@clear***** null+****@clear*****
2012年 7月 11日 (水) 18:32:37 JST


SHIMODA Hiroshi	2012-07-11 18:32:37 +0900 (Wed, 11 Jul 2012)

  New Revision: 59b9852729323b91cf9b9144dc9a0e846d6aba20
  https://github.com/groonga/gcs/commit/59b9852729323b91cf9b9144dc9a0e846d6aba20

  Log:
    Prepare to use meta information of columns from search and batch

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

  Modified: lib/api/2011-02-01/search.js (+5 -1)
===================================================================
--- lib/api/2011-02-01/search.js    2012-07-11 18:18:35 +0900 (75360aa)
+++ lib/api/2011-02-01/search.js    2012-07-11 18:32:37 +0900 (15a28be)
@@ -37,7 +37,11 @@ exports.createHandler = function(database) {
     var startedAt = new Date();
     var domain = new Domain(request);
     var query = request.query.q || '';
-    var matchColumns = database.columnNamesSync(domain.name).join('||');
+    var matchColumns = database.ordinalColumnsSync(domain.name)
+                         .map(function(column) {
+                           return column.name;
+                         })
+                         .join('||');
     var size = parseInt(request.query.size || '10', 10);
     var start = parseInt(request.query.start || '0', 10);
     var options = {

  Modified: lib/batch/processor.js (+5 -2)
===================================================================
--- lib/batch/processor.js    2012-07-11 18:18:35 +0900 (0d14055)
+++ lib/batch/processor.js    2012-07-11 18:32:37 +0900 (63aec1c)
@@ -24,7 +24,7 @@ Processor.prototype = {
     if (this._columns) {
       return self._columns;
     } else {
-      var columns = this.database.columnNamesSync(this.translator.tableName);
+      var columns = this.database.ordinalColumnsSync(this.translator.tableName);
       return this._columns = columns;
     }
   },
@@ -49,6 +49,9 @@ Processor.prototype = {
     }
 
     var column;
+    var columnNames = columns.map(function(column) {
+          return column.name;
+        });
     var fieldsCount = 0;
     var errors = [];
     for (var field in batch.fields) {
@@ -64,7 +67,7 @@ Processor.prototype = {
         continue;
       }
 
-      if (columns.indexOf(column) < 0)
+      if (columnNames.indexOf(column) < 0)
         errors.push(batch.id + ': The field "' + field + '" is unknown.');
 
       if (batch.fields[field] === null)

  Modified: lib/database.js (+6 -2)
===================================================================
--- lib/database.js    2012-07-11 18:18:35 +0900 (2ab3fe4)
+++ lib/database.js    2012-07-11 18:32:37 +0900 (9f13aca)
@@ -95,12 +95,16 @@ Database.prototype = {
     var result =  this.commandSync('column_list', { table: tableName });
     return Database.formatResults(result);
   },
-  columnNamesSync: function(tableName) {
+  ordinalColumnsSync: function(tableName) {
     var columns = this.columnListSync(tableName);
     var ordinalColumns = columns.filter(function(column) {
       return column.name.charAt(0) !== '_';
     });
-    var names = ordinalColumns.map(function(column) {
+    return ordinalColumns;
+  },
+  columnNamesSync: function(tableName) {
+    var columns = this.ordinalColumnsSync(tableName);
+    var names = columns.map(function(column) {
       return column.name;
     });
     return names;
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 



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