From null at cozmixng.org Wed Mar 3 21:20:44 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Thu, 04 Mar 2010 11:20:44 +0900
Subject: [groonga-commit:955] groonga [groonga (trunk) r1032] * normalize
$(DLLIB) to work with Ruby 1.8.8.
Message-ID: <20100304022044.ACDE21D1C10@mail.cozmixng.org>
retro 2010-03-04 11:20:44 +0900 (Thu, 04 Mar 2010)
New Revision: 1032
Log:
* normalize $(DLLIB) to work with Ruby 1.8.8.
Modified files:
groonga/trunk/extconf.rb
Modified: groonga/trunk/extconf.rb (+5 -0)
===================================================================
--- groonga/trunk/extconf.rb 2010-02-17 15:29:30 +09:00 (rev 1031)
+++ groonga/trunk/extconf.rb 2010-03-04 11:20:44 +09:00 (rev 1032)
@@ -167,6 +167,7 @@
File.open("Makefile", "w") do |f|
objs = []
co = nil
+ dllib = nil
makefile.each_line do |line|
case line
when /^DLLIB\s*=\s*/
@@ -195,6 +196,10 @@
co = line
f.puts(line)
else
+ if dllib
+ line = line.gsub(/\$\(RUBYARCHDIR\)\/\$\(DLLIB\)/,
+ "$(RUBYARCHDIR)/#{dllib.chomp}")
+ end
f.puts(line)
end
end
From null at cozmixng.org Wed Mar 3 22:20:29 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Thu, 04 Mar 2010 12:20:29 +0900
Subject: [groonga-commit:956] groonga [groonga (trunk) r1034] * add m_seki
to thanks list.
Message-ID: <20100304032029.D07A41D1C13@mail.cozmixng.org>
retro 2010-03-04 12:20:29 +0900 (Thu, 04 Mar 2010)
New Revision: 1034
Log:
* add m_seki to thanks list.
Thanks!!!
Modified files:
groonga/trunk/README.ja.rdoc
groonga/trunk/README.rdoc
Modified: groonga/trunk/README.ja.rdoc (+1 -0)
===================================================================
--- groonga/trunk/README.ja.rdoc 2010-03-04 11:18:22 +09:00 (rev 1033)
+++ groonga/trunk/README.ja.rdoc 2010-03-04 12:20:29 +09:00 (rev 1034)
@@ -62,3 +62,4 @@
* ????????????
* id:mat_aki??: ????????????????????
* @yune_kotomi: ??????????????
+* ???: ??????????????
Modified: groonga/trunk/README.rdoc (+1 -0)
===================================================================
--- groonga/trunk/README.rdoc 2010-03-04 11:18:22 +09:00 (rev 1033)
+++ groonga/trunk/README.rdoc 2010-03-04 12:20:29 +09:00 (rev 1034)
@@ -63,3 +63,4 @@
* fixed bugs.
* id:mat_aki: sent bug reports.
* @yune_kotomi: sent a bug report.
+* m_seki: sent bug reports.
From null at cozmixng.org Wed Mar 3 22:20:31 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Thu, 04 Mar 2010 12:20:31 +0900
Subject: [groonga-commit:957] groonga [groonga (trunk) r1035] * fix SEGV on
GC.
Message-ID: <20100304032031.AAA241D1C15@mail.cozmixng.org>
retro 2010-03-04 12:20:31 +0900 (Thu, 04 Mar 2010)
New Revision: 1035
Log:
* fix SEGV on GC.
Modified files:
groonga/trunk/ext/rb-grn-context.c
groonga/trunk/ext/rb-grn-database.c
groonga/trunk/ext/rb-grn-object.c
Modified: groonga/trunk/ext/rb-grn-object.c (+9 -4)
===================================================================
--- groonga/trunk/ext/rb-grn-object.c 2010-03-04 11:20:01 +09:00 (rev 1034)
+++ groonga/trunk/ext/rb-grn-object.c 2010-03-04 12:20:31 +09:00 (rev 1035)
@@ -158,11 +158,16 @@
grn_object = rb_grn_object->object;
debug("rb-free: %p:%p:%p\n", context, grn_object, rb_grn_object);
if (!rb_grn_exited && context && grn_object) {
- rb_grn_object->context = NULL;
- rb_grn_object->object = NULL;
- debug("type: %x; need_close: %d\n",
+ grn_user_data *user_data;
+
+ user_data = grn_obj_user_data(context, grn_object);
+ debug("type: %x; need_close: %d; user_data: %p\n",
grn_object->header.type,
- rb_grn_object->need_close);
+ rb_grn_object->need_close,
+ user_data);
+ if (user_data && user_data->ptr) {
+ rb_grn_object_finalizer(context, 1, &grn_object, user_data);
+ }
if (rb_grn_object->need_close) {
grn_obj_unlink(context, grn_object);
}
Modified: groonga/trunk/ext/rb-grn-context.c (+1 -1)
===================================================================
--- groonga/trunk/ext/rb-grn-context.c 2010-03-04 11:20:01 +09:00 (rev 1034)
+++ groonga/trunk/ext/rb-grn-context.c 2010-03-04 12:20:31 +09:00 (rev 1035)
@@ -67,7 +67,7 @@
database = grn_ctx_db(context);
debug("context:database: %p:%p\n", context, database);
if (database && database->header.type == GRN_DB) {
- grn_obj_close(context, database);
+ grn_obj_unlink(context, database);
}
grn_ctx_fin(context);
}
Modified: groonga/trunk/ext/rb-grn-database.c (+2 -2)
===================================================================
--- groonga/trunk/ext/rb-grn-database.c 2010-03-04 11:20:01 +09:00 (rev 1034)
+++ groonga/trunk/ext/rb-grn-database.c 2010-03-04 12:20:31 +09:00 (rev 1035)
@@ -137,7 +137,7 @@
old_database = grn_ctx_db(context);
if (old_database)
- grn_obj_close(context, old_database);
+ grn_obj_unlink(context, old_database);
database = grn_db_create(context, path, &create_args);
rb_grn_context_check(context, rb_ary_new4(argc, argv));
rb_database = GRNOBJECT2RVAL(klass, context, database, RB_GRN_TRUE);
@@ -188,7 +188,7 @@
old_database = grn_ctx_db(context);
if (old_database)
- grn_obj_close(context, old_database);
+ grn_obj_unlink(context, old_database);
database = grn_db_open(context, path);
rb_grn_object_assign(Qnil, self, rb_context, context, database);
rb_grn_context_check(context, self);
From null at cozmixng.org Fri Mar 12 08:50:36 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Fri, 12 Mar 2010 22:50:36 +0900
Subject: [groonga-commit:958] groonga [groonga (trunk) r1039] * mark Ruby
objects in database.
Message-ID: <20100312135036.31E971D1C10@mail.cozmixng.org>
retro 2010-03-12 22:50:35 +0900 (Fri, 12 Mar 2010)
New Revision: 1039
Log:
* mark Ruby objects in database.
Modified files:
groonga/trunk/ext/rb-grn-database.c
Modified: groonga/trunk/ext/rb-grn-database.c (+57 -0)
===================================================================
--- groonga/trunk/ext/rb-grn-database.c 2010-03-09 10:05:07 +09:00 (rev 1038)
+++ groonga/trunk/ext/rb-grn-database.c 2010-03-12 22:50:35 +09:00 (rev 1039)
@@ -51,6 +51,61 @@
}
static void
+rb_grn_database_mark_existing_ruby_object (grn_ctx *context, grn_obj *database)
+{
+ grn_table_cursor *cursor;
+ grn_id id;
+
+ cursor = grn_table_cursor_open(context, database, NULL, 0, NULL, 0,
+ 0, -1, GRN_CURSOR_ASCENDING);
+ if (!cursor)
+ return;
+
+ while ((id = grn_table_cursor_next(context, cursor)) != GRN_ID_NIL) {
+ grn_obj *object;
+ grn_user_data *user_data;
+ RbGrnObject *rb_grn_object;
+
+ object = grn_ctx_at(context, id);
+ if (!object)
+ continue;
+ user_data = grn_obj_user_data(context, object);
+ if (!user_data)
+ continue;
+ rb_grn_object = RB_GRN_OBJECT(user_data->ptr);
+ if (!rb_grn_object)
+ continue;
+ rb_gc_mark(rb_grn_object->self);
+ }
+ grn_table_cursor_close(context, cursor);
+}
+
+static void
+rb_grn_database_mark (void *data)
+{
+ RbGrnObject *rb_grn_database = data;
+ grn_ctx *context;
+ grn_obj *database;
+
+ if (!rb_grn_database)
+ return;
+
+ context = rb_grn_database->context;
+ database = rb_grn_database->object;
+ if (!context || !database)
+ return;
+
+ rb_grn_database_mark_existing_ruby_object(context, database);
+}
+
+static VALUE
+rb_grn_database_alloc (VALUE klass)
+{
+ return Data_Wrap_Struct(klass, rb_grn_database_mark, rb_grn_object_free,
+ NULL);
+}
+
+static void
rb_grn_database_deconstruct (RbGrnObject *rb_grn_database,
grn_obj **database,
grn_ctx **context,
@@ -390,6 +445,8 @@
rb_grn_init_database (VALUE mGrn)
{
rb_cGrnDatabase = rb_define_class_under(mGrn, "Database", rb_cGrnObject);
+ rb_define_alloc_func(rb_cGrnDatabase, rb_grn_database_alloc);
+
rb_include_module(rb_cGrnDatabase, rb_mEnumerable);
rb_include_module(rb_cGrnDatabase, rb_mGrnEncodingSupport);
From null at cozmixng.org Fri Mar 12 08:50:34 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Fri, 12 Mar 2010 22:50:34 +0900
Subject: [groonga-commit:959] groonga [groonga (trunk) r1038] * follow the
recent groonga name restrictions: don't use '-'
Message-ID: <20100312135034.9BCA11D1C0D@mail.cozmixng.org>
retro 2010-03-12 22:50:34 +0900 (Fri, 12 Mar 2010)
New Revision: 1038
Log:
* follow the recent groonga name restrictions: don't use '-'
in column, table and type name.
Modified files:
groonga/trunk/ext/rb-grn-table.c
groonga/trunk/test/test-column.rb
groonga/trunk/test/test-expression-builder.rb
groonga/trunk/test/test-schema.rb
groonga/trunk/test/test-table.rb
groonga/trunk/test/test-type.rb
Modified: groonga/trunk/test/test-schema.rb (+1 -1)
===================================================================
--- groonga/trunk/test/test-schema.rb 2010-03-04 15:07:46 +09:00 (rev 1037)
+++ groonga/trunk/test/test-schema.rb 2010-03-12 22:50:34 +09:00 (rev 1038)
@@ -288,7 +288,7 @@
def test_index_with_full_option
path = @tmp_dir + "index-column.groonga"
assert_nil(context["Terms.content"])
- index_column_name = "Posts-index"
+ index_column_name = "Posts_index"
Groonga::Schema.create_table("Posts") do |table|
table.long_text :content
Modified: groonga/trunk/test/test-expression-builder.rb (+1 -1)
===================================================================
--- groonga/trunk/test/test-expression-builder.rb 2010-03-04 15:07:46 +09:00 (rev 1037)
+++ groonga/trunk/test/test-expression-builder.rb 2010-03-12 22:50:34 +09:00 (rev 1038)
@@ -27,7 +27,7 @@
@terms = Groonga::PatriciaTrie.create(:name => "Terms",
:default_tokenizer => "TokenBigram")
- @terms.define_index_column("user-name", @users, :source => @name)
+ @terms.define_index_column("user_name", @users, :source => @name)
@bookmarks = Groonga::Array.create(:name => "Bookmarks")
@bookmarks.define_column("user", @users)
Modified: groonga/trunk/ext/rb-grn-table.c (+8 -2)
===================================================================
--- groonga/trunk/ext/rb-grn-table.c 2010-03-04 15:07:46 +09:00 (rev 1037)
+++ groonga/trunk/ext/rb-grn-table.c 2010-03-12 22:50:34 +09:00 (rev 1038)
@@ -429,7 +429,10 @@
column = grn_column_create(context, table, name, name_size,
path, flags, value_type);
- rb_grn_context_check(context, self);
+ if (context->rc) {
+ rb_grn_context_check(context,
+ rb_ary_new3(2, self, rb_ary_new4(argc, argv)));
+ }
rb_column = GRNCOLUMN2RVAL(Qnil, context, column, RB_GRN_TRUE);
rb_ary_push(columns, rb_column);
@@ -553,7 +556,10 @@
column = grn_column_create(context, table, name, name_size,
path, flags, value_type);
- rb_grn_context_check(context, self);
+ if (context->rc) {
+ rb_grn_context_check(context,
+ rb_ary_new3(2, self, rb_ary_new4(argc, argv)));
+ }
rb_column = GRNCOLUMN2RVAL(Qnil, context, column, RB_GRN_TRUE);
if (!NIL_P(rb_source))
Modified: groonga/trunk/test/test-type.rb (+12 -2)
===================================================================
--- groonga/trunk/test/test-type.rb 2010-03-04 15:07:46 +09:00 (rev 1037)
+++ groonga/trunk/test/test-type.rb 2010-03-12 22:50:34 +09:00 (rev 1038)
@@ -19,10 +19,20 @@
setup :setup_database
def test_new
- type = Groonga::Type.new("user-id", :type => :integer)
- assert_equal("user-id", type.name)
+ type = Groonga::Type.new("user_id", :type => :integer)
+ assert_equal("user_id", type.name)
end
+ def test_new_with_hyphen_name
+ exception = assert_raise(Groonga::InvalidArgument) do
+ Groonga::Type.new("user-id", :type => :integer)
+ end
+ message =
+ "name can't start with '_' and 0-9, and contains only 0-9, A-Z, a-z, or _"
+ assert_match(/#{Regexp.escape(message)}/,
+ exception.message)
+ end
+
def test_builtins
assert_equal_type("Object", Groonga::Type::OBJECT) # FIXME!!!
assert_equal_type("Bool", Groonga::Type::BOOLEAN)
Modified: groonga/trunk/test/test-table.rb (+1 -1)
===================================================================
--- groonga/trunk/test/test-table.rb 2010-03-04 15:07:46 +09:00 (rev 1037)
+++ groonga/trunk/test/test-table.rb 2010-03-12 22:50:34 +09:00 (rev 1038)
@@ -190,7 +190,7 @@
bookmarks.define_column("content", "Text")
terms = Groonga::Hash.create(:name => "Terms")
terms.default_tokenizer = "TokenBigram"
- index = terms.define_index_column("content-index", bookmarks,
+ index = terms.define_index_column("content_index", bookmarks,
:with_section => true,
:source => "Bookmarks.content")
bookmarks.add("google", :content => "Search engine")
Modified: groonga/trunk/test/test-column.rb (+1 -1)
===================================================================
--- groonga/trunk/test/test-column.rb 2010-03-04 15:07:46 +09:00 (rev 1037)
+++ groonga/trunk/test/test-column.rb 2010-03-12 22:50:34 +09:00 (rev 1038)
@@ -59,7 +59,7 @@
def setup_indexes
@bookmarks_index_path = @tables_dir + "bookmarks-index"
@bookmarks_index =
- Groonga::PatriciaTrie.create(:name => "bookmarks-index",
+ Groonga::PatriciaTrie.create(:name => "BookmarksIndex",
:path => @bookmarks_index_path.to_s,
:key_type => "ShortText")
@bookmarks_index.default_tokenizer = "TokenBigram"
From null at cozmixng.org Fri Mar 12 08:50:39 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Fri, 12 Mar 2010 22:50:39 +0900
Subject: [groonga-commit:960] groonga [groonga (trunk) r1041] * follow the
current groonga changes.
Message-ID: <20100312135039.393351D1C16@mail.cozmixng.org>
retro 2010-03-12 22:50:38 +0900 (Fri, 12 Mar 2010)
New Revision: 1041
Log:
* follow the current groonga changes.
Modified files:
groonga/trunk/test/test-column.rb
groonga/trunk/test/test-expression-builder.rb
groonga/trunk/test/test-table-select-normalize.rb
groonga/trunk/test/test-table-select.rb
Modified: groonga/trunk/test/test-expression-builder.rb (+1 -1)
===================================================================
--- groonga/trunk/test/test-expression-builder.rb 2010-03-10 12:06:31 +09:00 (rev 1040)
+++ groonga/trunk/test/test-expression-builder.rb 2010-03-12 22:50:38 +09:00 (rev 1041)
@@ -115,7 +115,7 @@
end
def test_query_string
- result = @users.select("name:%ro")
+ result = @users.select("name:@ro")
assert_equal(["morita", "yu"],
result.collect {|record| record.key.key})
end
Modified: groonga/trunk/test/test-table-select.rb (+4 -4)
===================================================================
--- groonga/trunk/test/test-table-select.rb 2010-03-10 12:06:31 +09:00 (rev 1040)
+++ groonga/trunk/test/test-table-select.rb 2010-03-12 22:50:38 +09:00 (rev 1041)
@@ -57,7 +57,7 @@
end
def test_select_query
- result = @comments.select("content:%Hello")
+ result = @comments.select("content:@Hello")
assert_equal_select_result([@comment1, @comment2], result)
end
@@ -83,14 +83,14 @@
end
def test_select_query_with_block
- result = @comments.select("content:%Hello") do |record|
+ result = @comments.select("content:@Hello") do |record|
record["created_at"] < Time.parse("2009-08-01")
end
assert_equal_select_result([@comment2], result)
end
def test_select_query_with_block_match
- result = @comments.select("content:%Hello") do |record|
+ result = @comments.select("content:@Hello") do |record|
record.match("World", "content")
end
assert_equal_select_result([@comment2], result)
@@ -103,7 +103,7 @@
end
def test_select_query_japanese
- result = @comments.select("content:%??TV")
+ result = @comments.select("content:@??TV")
assert_equal_select_result([@japanese_comment], result)
end
Modified: groonga/trunk/test/test-table-select-normalize.rb (+2 -2)
===================================================================
--- groonga/trunk/test/test-table-select-normalize.rb 2010-03-10 12:06:31 +09:00 (rev 1040)
+++ groonga/trunk/test/test-table-select-normalize.rb 2010-03-12 22:50:38 +09:00 (rev 1041)
@@ -37,12 +37,12 @@
end
def test_select_query_with_japanese
- result = @comments.select("content:%??TV")
+ result = @comments.select("content:@??TV")
assert_equal_select_result([@japanese_comment], result)
end
def test_select_query_only_in_japanese
- result = @comments.select("content:%???")
+ result = @comments.select("content:@???")
assert_equal_select_result([@japanese_comment], result)
end
end
Modified: groonga/trunk/test/test-column.rb (+1 -1)
===================================================================
--- groonga/trunk/test/test-column.rb 2010-03-10 12:06:31 +09:00 (rev 1040)
+++ groonga/trunk/test/test-column.rb 2010-03-12 22:50:38 +09:00 (rev 1041)
@@ -225,7 +225,7 @@
expression = Groonga::Expression.new
variable = expression.define_variable(:domain => @posts)
expression.append_object(variable)
- expression.parse("body:%drive", :syntax => :query)
+ expression.parse("body:@drive", :syntax => :query)
expression.compile
result = @body.select(expression)
assert_equal(["Drive and Eat"],
From null at cozmixng.org Fri Mar 12 08:50:40 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Fri, 12 Mar 2010 22:50:40 +0900
Subject: [groonga-commit:961] groonga [groonga (trunk) r1042] * follow the
current groonga changes.
Message-ID: <20100312135040.B0E1D1D1C17@mail.cozmixng.org>
retro 2010-03-12 22:50:40 +0900 (Fri, 12 Mar 2010)
New Revision: 1042
Log:
* follow the current groonga changes.
Modified files:
groonga/trunk/test/test-table-select.rb
Modified: groonga/trunk/test/test-table-select.rb (+1 -1)
===================================================================
--- groonga/trunk/test/test-table-select.rb 2010-03-12 14:25:56 +09:00 (rev 1041)
+++ groonga/trunk/test/test-table-select.rb 2010-03-12 22:50:40 +09:00 (rev 1042)
@@ -75,7 +75,7 @@
expression = Groonga::Expression.new
variable = expression.define_variable(:domain => @comments)
expression.append_object(variable)
- expression.parse("content:%Hello", :syntax => :query)
+ expression.parse("content:@Hello", :syntax => :query)
expression.compile
result = @comments.select(expression)
assert_equal(expression, result.expression)
From null at cozmixng.org Fri Mar 12 08:50:37 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Fri, 12 Mar 2010 22:50:37 +0900
Subject: [groonga-commit:962] groonga [groonga (trunk) r1040] * fix GC
crash!!! (I hope so!!!)
Message-ID: <20100312135037.BC1461D1C14@mail.cozmixng.org>
retro 2010-03-12 22:50:37 +0900 (Fri, 12 Mar 2010)
New Revision: 1040
Log:
* fix GC crash!!! (I hope so!!!)
Modified files:
groonga/trunk/ext/rb-grn-object.c
groonga/trunk/ext/rb-grn.h
Modified: groonga/trunk/ext/rb-grn-object.c (+19 -18)
===================================================================
--- groonga/trunk/ext/rb-grn-object.c 2010-03-09 14:08:58 +09:00 (rev 1039)
+++ groonga/trunk/ext/rb-grn-object.c 2010-03-12 22:50:37 +09:00 (rev 1040)
@@ -156,15 +156,17 @@
context = rb_grn_object->context;
grn_object = rb_grn_object->object;
- debug("rb-free: %p:%p:%p\n", context, grn_object, rb_grn_object);
- if (!rb_grn_exited && context && grn_object) {
+ debug("rb-free: %p:%p:%p; %d\n", context, grn_object, rb_grn_object,
+ rb_grn_object->have_finalizer);
+ if (!rb_grn_exited && context && grn_object && rb_grn_object->have_finalizer) {
grn_user_data *user_data;
user_data = grn_obj_user_data(context, grn_object);
- debug("type: %x; need_close: %d; user_data: %p\n",
+ debug("type: %x; need_close: %d; user_data: %p; ptr: %p\n",
grn_object->header.type,
rb_grn_object->need_close,
- user_data);
+ user_data,
+ user_data ? user_data->ptr : NULL);
if (user_data && user_data->ptr) {
rb_grn_object_finalizer(context, 1, &grn_object, user_data);
}
@@ -272,26 +274,25 @@
RbGrnObject *rb_grn_object,
grn_ctx *context, grn_obj *object)
{
+ grn_user_data *user_data;
+
rb_grn_object->context = context;
rb_grn_object->object = object;
rb_grn_object->self = self;
rb_grn_object->need_close = RB_GRN_TRUE;
+ rb_grn_object->have_finalizer = RB_GRN_FALSE;
+ user_data = grn_obj_user_data(context, object);
+ if (user_data) {
+ debug("set-finalizer: %p:%p:%p 0x%x\n",
+ context, object, rb_grn_object,
+ object->header.type);
+ user_data->ptr = rb_grn_object;
+ grn_obj_set_finalizer(context, object, rb_grn_object_finalizer);
+ rb_grn_object->have_finalizer = RB_GRN_TRUE;
+ }
+
switch (object->header.type) {
- case GRN_DB:
- case GRN_CURSOR_TABLE_HASH_KEY:
- case GRN_CURSOR_TABLE_PAT_KEY:
- case GRN_CURSOR_TABLE_NO_KEY:
- case GRN_TABLE_HASH_KEY:
- case GRN_TABLE_PAT_KEY:
- case GRN_TABLE_NO_KEY:
- case GRN_COLUMN_FIX_SIZE:
- case GRN_COLUMN_VAR_SIZE:
- case GRN_COLUMN_INDEX:
- case GRN_EXPR:
- grn_obj_user_data(context, object)->ptr = rb_grn_object;
- grn_obj_set_finalizer(context, object, rb_grn_object_finalizer);
- break;
case GRN_PROC:
case GRN_TYPE:
rb_grn_object->need_close = RB_GRN_FALSE;
Modified: groonga/trunk/ext/rb-grn.h (+1 -0)
===================================================================
--- groonga/trunk/ext/rb-grn.h 2010-03-09 14:08:58 +09:00 (rev 1039)
+++ groonga/trunk/ext/rb-grn.h 2010-03-12 22:50:37 +09:00 (rev 1040)
@@ -110,6 +110,7 @@
grn_obj *range;
grn_id range_id;
rb_grn_boolean need_close;
+ rb_grn_boolean have_finalizer;
};
typedef struct _RbGrnNamedObject RbGrnNamedObject;
From null at cozmixng.org Wed Mar 17 01:20:29 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Wed, 17 Mar 2010 14:20:29 +0900
Subject: [groonga-commit:963] groonga [groonga (trunk) r1044] * add
Context#select.
Message-ID: <20100317052029.6A7CA1D1C0F@mail.cozmixng.org>
retro 2010-03-17 14:20:28 +0900 (Wed, 17 Mar 2010)
New Revision: 1044
Log:
* add Context#select.
Added files:
groonga/trunk/lib/groonga/context.rb
groonga/trunk/test/test-context-select.rb
Modified files:
groonga/trunk/lib/groonga.rb
Modified: groonga/trunk/lib/groonga.rb (+1 -0)
===================================================================
--- groonga/trunk/lib/groonga.rb 2010-03-17 12:40:56 +09:00 (rev 1043)
+++ groonga/trunk/lib/groonga.rb 2010-03-17 14:20:28 +09:00 (rev 1044)
@@ -79,5 +79,6 @@
end
end
+require 'groonga/context'
require 'groonga/patricia-trie'
require 'groonga/schema'
Added: groonga/trunk/lib/groonga/context.rb (+147 -0)
===================================================================
--- groonga/trunk/lib/groonga/context.rb 2010-03-17 12:40:56 +09:00 (rev 1043)
+++ groonga/trunk/lib/groonga/context.rb 2010-03-17 14:20:28 +09:00 (rev 1044)
@@ -0,0 +1,147 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2010 Kouhei Sutou
- Ruby/groonga?groonga?????DB-API??????Ruby??????????DB-API????????QL-API??????????ActiveGroonga??????? + rroonga?groonga?????DB-API??????Ruby??????????DB-API????????QL-API??????????ActiveGroonga???????
-2010-02-09????????0.9.1??????
-RubyGems????????????groonga????????????????????????????????????
-% sudo gem install groonga+
% sudo gem install rroonga-
????????????????????????? ?????????????????????
- ActiveGroonga?Ruby/groonga??????????????????????????????????????????? + ActiveGroonga?rroonga??????????????????????????????????????????? ActiveRecord????API?groonga?????????????????????????????
@@ -99,11 +99,11 @@
- Ruby/groonga???ActiveGroonga?????????????????? Free Software Foundation?????GNU Lesser General Public License 2.1??????????????????????????????????? + rroonga???ActiveGroonga?????????????????? Free Software Foundation?????GNU Lesser General Public License 2.1???????????????????????????????????
- Ruby/groonga???ActiveGroonga????????????????????????????????????????????????????????????????????GNU Lesser General Public License 2.1????????? + rroonga???ActiveGroonga????????????????????????????????????????????????????????????????????GNU Lesser General Public License 2.1?????????
@@ -37,31 +37,27 @@- Ruby/groonga?ActiveGroonga???????RubyForge??????? + rroonga?ActiveGroonga???????RubyForge??????? Subversion??????????????????????????????
% svn co http://groonga.rubyforge.org/svn/groonga/trunk groonga
% svn co http://groonga.rubyforge.org/svn/rroonga/trunk rroonga
% svn co http://groonga.rubyforge.org/svn/activegroonga/trunk activegroonga
- Ruby/groonga???ActiveGroonga?????????????????????????? + rroonga???ActiveGroonga?????????????????????????? ????????????????????????????
-% svn co http://groonga.rubyforge.org/svn/examples groonga-examples+
% svn co http://groonga.rubyforge.org/svn/examples ranguba-examples
- ?????groonga????????????????? + ?????groonga????????????Redmine???????? ????????????????groonga?????????????????
-- ?????????????????????RubyForge???????????????? - ?????????????????????????????? -
@@ -72,7 +68,7 @@
???????????????RDoc????????? - ????????????HTML????????????????????????? + ????????????HTML?????????????????????????
????????????????????????????????????????????????? @@ -94,7 +90,7 @@
From null at cozmixng.org Fri Mar 26 12:05:54 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Sat, 27 Mar 2010 01:05:54 +0900
Subject: [groonga-commit:973] groonga [rroonga (trunk) r1057] * don't align
right in sidebar.
Message-ID: <20100326160554.279EB1D1C2F@mail.cozmixng.org>
retro 2010-03-27 01:05:53 +0900 (Sat, 27 Mar 2010)
New Revision: 1057
Log:
* don't align right in sidebar.
Modified files:
rroonga/trunk/html/ranguba.css
Modified: rroonga/trunk/html/ranguba.css (+3 -1)
===================================================================
--- rroonga/trunk/html/ranguba.css 2010-03-26 23:08:42 +09:00 (rev 1056)
+++ rroonga/trunk/html/ranguba.css 2010-03-27 01:05:53 -15:00 (rev 1057)
@@ -163,8 +163,10 @@
top: 0px;
right: 0px;
width: 150px;
- text-align: right;
background-color: white;
+ padding-left: 10px;
+ border-left: solid 1px black;
+ height: 100%;
}
div.sidebar ul
From null at cozmixng.org Tue Mar 30 10:50:37 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Tue, 30 Mar 2010 23:50:37 +0900
Subject: [groonga-commit:974] groonga [rroonga (trunk) r1059] * add
Table#empty?
Message-ID: <20100330145037.2A3E21D1C10@mail.cozmixng.org>
retro 2010-03-30 23:50:36 +0900 (Tue, 30 Mar 2010)
New Revision: 1059
Log:
* add Table#empty?
Modified files:
rroonga/trunk/ext/rb-grn-table.c
rroonga/trunk/test/test-table.rb
Modified: rroonga/trunk/ext/rb-grn-table.c (+22 -0)
===================================================================
--- rroonga/trunk/ext/rb-grn-table.c 2010-03-26 23:12:05 +09:00 (rev 1058)
+++ rroonga/trunk/ext/rb-grn-table.c 2010-03-30 23:50:36 +09:00 (rev 1059)
@@ -993,6 +993,27 @@
/*
* call-seq:
+ * table.empty? -> true/false
+ *
+ * ????????????????????+true+????
+ */
+static VALUE
+rb_grn_table_empty_p (VALUE self)
+{
+ grn_ctx *context = NULL;
+ grn_obj *table;
+ unsigned int size;
+
+ rb_grn_table_deconstruct(SELF(self), &table, &context,
+ NULL, NULL,
+ NULL, NULL, NULL,
+ NULL);
+ size = grn_table_size(context, table);
+ return size == 0;
+}
+
+/*
+ * call-seq:
* table.truncate
*
* ????????????????????
@@ -2058,6 +2079,7 @@
rb_define_method(rb_cGrnTable, "records", rb_grn_table_get_records, -1);
rb_define_method(rb_cGrnTable, "size", rb_grn_table_get_size, 0);
+ rb_define_method(rb_cGrnTable, "empty?", rb_grn_table_empty_p, 0);
rb_define_method(rb_cGrnTable, "truncate", rb_grn_table_truncate, 0);
rb_define_method(rb_cGrnTable, "each", rb_grn_table_each, 0);
Modified: rroonga/trunk/test/test-table.rb (+10 -0)
===================================================================
--- rroonga/trunk/test/test-table.rb 2010-03-26 23:12:05 +09:00 (rev 1058)
+++ rroonga/trunk/test/test-table.rb 2010-03-30 23:50:36 +09:00 (rev 1059)
@@ -316,6 +316,16 @@
assert_equal(3, bookmarks.size)
end
+ def test_empty?
+ bookmarks_path = @tables_dir + "bookmarks"
+ bookmarks = Groonga::Array.create(:name => "Bookmarks",
+ :path => bookmarks_path.to_s)
+
+ assert_predicate(bookmarks, :empty?)
+ bookmarks.add
+ assert_not_predicate(bookmarks, :empty?)
+ end
+
def test_path
bookmarks_path = @tables_dir + "bookmarks"
bookmarks = Groonga::Array.create(:name => "Bookmarks",
From null at cozmixng.org Wed Mar 31 09:05:26 2010
From: null at cozmixng.org (null at cozmixng.org)
Date: Wed, 31 Mar 2010 22:05:26 +0900
Subject: [groonga-commit:975] groonga [rroonga (trunk) r1060] * follow
groonga's status format change.
Message-ID: <20100331130526.86A721D1C0C@mail.cozmixng.org>
retro 2010-03-31 22:05:25 +0900 (Wed, 31 Mar 2010)
New Revision: 1060
Log:
* follow groonga's status format change.
Modified files:
rroonga/trunk/test/test-remote.rb
Modified: rroonga/trunk/test/test-remote.rb (+2 -2)
===================================================================
--- rroonga/trunk/test/test-remote.rb 2010-03-30 23:39:24 +09:00 (rev 1059)
+++ rroonga/trunk/test/test-remote.rb 2010-03-31 22:05:25 +09:00 (rev 1060)
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Kouhei Sutou