null+****@clear*****
null+****@clear*****
2012年 7月 6日 (金) 17:21:17 JST
SHIMODA Hiroshi 2012-07-06 17:21:17 +0900 (Fri, 06 Jul 2012) New Revision: 851ce2afd6d25639996e69ce206f17fbab4616bc https://github.com/groonga/gcs/commit/851ce2afd6d25639996e69ce206f17fbab4616bc Log: Fix minor bugs around IndexDocuments action Modified files: lib/api/2011-02-01/configuration.js lib/database.js test/api-configuration.test.js Modified: lib/api/2011-02-01/configuration.js (+5 -5) =================================================================== --- lib/api/2011-02-01/configuration.js 2012-07-06 17:10:35 +0900 (4f5237b) +++ lib/api/2011-02-01/configuration.js 2012-07-06 17:21:17 +0900 (806b626) @@ -203,7 +203,7 @@ handlers.DefineIndexField = function(database, request, response) { var termsOptions = { table: domain.termsTableName, name: field.indexColumnName, - flags: Database.COLUMN_INDEX + '|' + Database.WITH_POSITION, + flags: Database.INDEX_COLUMN_DEFAULT_FLAGS, type: domain.tableName, source: field.columnName }; @@ -289,9 +289,9 @@ handlers.IndexDocuments = function(database, request, response) { database.commandSync('column_create', { table: domain.termsTableName, name: column.name, - flags: column.flags, - type: column.type, - source: column.source + flags: Database.INDEX_COLUMN_DEFAULT_FLAGS, + type: column.range, + source: column.source[0].replace(column.range + '.', '') }); }); response.contentType('application/xml'); @@ -300,7 +300,7 @@ handlers.IndexDocuments = function(database, request, response) { // However, original field names are completely lost after // they are created via the API... fieldNames: indexColumns.map(function(column) { - return column.source; + return column.source[0].replace(column.range + '.', ''); }) })); } catch(error) { Modified: lib/database.js (+7 -0) =================================================================== --- lib/database.js 2012-07-06 17:10:35 +0900 (0a546b9) +++ lib/database.js 2012-07-06 17:21:17 +0900 (ca7ced6) @@ -27,6 +27,10 @@ var WITH_POSITION = exports.WITH_POSITION = Database.WITH_POSITION = 'WITH_POSITION'; +var INDEX_COLUMN_DEFAULT_FLAGS = + exports.INDEX_COLUMN_DEFAULT_FLAGS = + Database.INDEX_COLUMN_DEFAULT_FLAGS = COLUMN_INDEX + '|' + WITH_POSITION; + var TokenBigram = exports.TokenBigram = Database.TokenBigram = 'TokenBigram'; @@ -100,6 +104,9 @@ Database.prototype = { exports.Database = Database; exports.formatResults = Database.formatResults = function(results) { + if (!results || !results.length) + return []; + var columns = {}; results[0].forEach(function(column, index) { columns[index] = column[0]; Modified: test/api-configuration.test.js (+3 -1) =================================================================== --- test/api-configuration.test.js 2012-07-06 17:10:35 +0900 (bcd405e) +++ test/api-configuration.test.js 2012-07-06 17:21:17 +0900 (2dd710b) @@ -279,7 +279,9 @@ suite('Configuration API', function() { body: '<?xml version="1.0"?>\n' + '<IndexDocumentsResponse xmlns="' + XMLNS + '">' + '<IndexDocumentsResult>' + - '<member>name</member>' + + '<FieldNames>' + + '<member>name</member>' + + '</FieldNames>' + '</IndexDocumentsResult>' + '<ResponseMetadata>' + '<RequestId></RequestId>' + -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... 下載