You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2012/04/18 03:01:35 UTC
[lucy-commits] svn commit: r1327345 - in /lucy/trunk: c/src/Lucy/Index/SegReader.c
core/Lucy/Index/SegReader.c core/Lucy/Index/SegReader.cfh
example-lang/src/Lucy/Index/SegReader.c perl/lib/Lucy.pm
perl/xs/Lucy/Index/SegReader.c ruby/src/Lucy/Index/SegReader.c
Author: marvin
Date: Wed Apr 18 01:01:35 2012
New Revision: 1327345
URL: http://svn.apache.org/viewvc?rev=1327345&view=rev
Log:
Replace another host callback with Err#trap.
Removed:
lucy/trunk/c/src/Lucy/Index/SegReader.c
lucy/trunk/example-lang/src/Lucy/Index/SegReader.c
lucy/trunk/perl/xs/Lucy/Index/SegReader.c
lucy/trunk/ruby/src/Lucy/Index/SegReader.c
Modified:
lucy/trunk/core/Lucy/Index/SegReader.c
lucy/trunk/core/Lucy/Index/SegReader.cfh
lucy/trunk/perl/lib/Lucy.pm
Modified: lucy/trunk/core/Lucy/Index/SegReader.c
URL: http://svn.apache.org/viewvc/lucy/trunk/core/Lucy/Index/SegReader.c?rev=1327345&r1=1327344&r2=1327345&view=diff
==============================================================================
--- lucy/trunk/core/Lucy/Index/SegReader.c (original)
+++ lucy/trunk/core/Lucy/Index/SegReader.c Wed Apr 18 01:01:35 2012
@@ -29,6 +29,10 @@
#include "Lucy/Search/Matcher.h"
#include "Lucy/Store/Folder.h"
+// Try to initialize all sub-readers.
+static void
+S_try_init_components(void *context);
+
SegReader*
SegReader_new(Schema *schema, Folder *folder, Snapshot *snapshot,
VArray *segments, int32_t seg_tick) {
@@ -49,11 +53,11 @@ SegReader_init(SegReader *self, Schema *
self->doc_max = (int32_t)Seg_Get_Count(segment);
self->seg_name = (CharBuf*)INCREF(Seg_Get_Name(segment));
self->seg_num = Seg_Get_Number(segment);
- mess = SegReader_Try_Init_Components(self);
- if (mess) {
- // An error occurred, so clean up self and throw an exception.
+ Err *error = Err_trap(S_try_init_components, self);
+ if (error) {
+ // An error occurred, so clean up self and rethrow the exception.
DECREF(self);
- Err_throw_mess(ERR, mess);
+ RETHROW(error);
}
DeletionsReader *del_reader
@@ -64,6 +68,14 @@ SegReader_init(SegReader *self, Schema *
return self;
}
+static void
+S_try_init_components(void *context) {
+ SegReader *self = (SegReader*)context;
+ Schema *schema = SegReader_Get_Schema(self);
+ Architecture *arch = Schema_Get_Architecture(schema);
+ Arch_Init_Seg_Reader(arch, self);
+}
+
void
SegReader_destroy(SegReader *self) {
DECREF(self->seg_name);
Modified: lucy/trunk/core/Lucy/Index/SegReader.cfh
URL: http://svn.apache.org/viewvc/lucy/trunk/core/Lucy/Index/SegReader.cfh?rev=1327345&r1=1327344&r2=1327345&view=diff
==============================================================================
--- lucy/trunk/core/Lucy/Index/SegReader.cfh (original)
+++ lucy/trunk/core/Lucy/Index/SegReader.cfh Wed Apr 18 01:01:35 2012
@@ -55,14 +55,6 @@ class Lucy::Index::SegReader inherits Lu
public void
Destroy(SegReader *self);
- /** Constructor helper.
- *
- * @return either NULL indicating success, or a CharBuf with an error
- * message.
- */
- incremented CharBuf*
- Try_Init_Components(SegReader *self);
-
/** Add a component to the SegReader. Using the same <code>api</code> key
* twice is an error.
*
Modified: lucy/trunk/perl/lib/Lucy.pm
URL: http://svn.apache.org/viewvc/lucy/trunk/perl/lib/Lucy.pm?rev=1327345&r1=1327344&r2=1327345&view=diff
==============================================================================
--- lucy/trunk/perl/lib/Lucy.pm (original)
+++ lucy/trunk/perl/lib/Lucy.pm Wed Apr 18 01:01:35 2012
@@ -230,20 +230,6 @@ sub error {$Lucy::Object::Err::error}
}
{
- package Lucy::Index::SegReader;
- our $VERSION = '0.003000';
- $VERSION = eval $VERSION;
-
- sub _try_init_components {
- my $self = shift;
- my $arch = $self->get_schema->get_architecture;
- eval { $arch->init_seg_reader($self); };
- if ($@) { return Lucy::Object::CharBuf->new($@); }
- return;
- }
-}
-
-{
package Lucy::Search::Compiler;
our $VERSION = '0.003000';
$VERSION = eval $VERSION;