rroonga 1.3.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -1
- data/Rakefile +2 -7
- data/bug.rb +36 -0
- data/crash.rb +17 -0
- data/ext/groonga/Makefile +260 -0
- data/ext/groonga/groonga.so +0 -0
- data/ext/groonga/rb-grn-accessor.o +0 -0
- data/ext/groonga/rb-grn-array-cursor.o +0 -0
- data/ext/groonga/rb-grn-array.o +0 -0
- data/ext/groonga/rb-grn-column.c +34 -37
- data/ext/groonga/rb-grn-column.o +0 -0
- data/ext/groonga/rb-grn-context.c +63 -2
- data/ext/groonga/rb-grn-context.o +0 -0
- data/ext/groonga/rb-grn-database.o +0 -0
- data/ext/groonga/rb-grn-double-array-trie-cursor.o +0 -0
- data/ext/groonga/rb-grn-double-array-trie.o +0 -0
- data/ext/groonga/rb-grn-encoding-support.o +0 -0
- data/ext/groonga/rb-grn-encoding.o +0 -0
- data/ext/groonga/rb-grn-exception.o +0 -0
- data/ext/groonga/rb-grn-expression-builder.o +0 -0
- data/ext/groonga/rb-grn-expression.c +21 -13
- data/ext/groonga/rb-grn-expression.o +0 -0
- data/ext/groonga/rb-grn-fix-size-column.o +0 -0
- data/ext/groonga/rb-grn-hash-cursor.o +0 -0
- data/ext/groonga/rb-grn-hash.o +0 -0
- data/ext/groonga/rb-grn-index-column.o +0 -0
- data/ext/groonga/rb-grn-index-cursor.o +0 -0
- data/ext/groonga/rb-grn-logger.o +0 -0
- data/ext/groonga/rb-grn-object.c +2 -0
- data/ext/groonga/rb-grn-object.o +0 -0
- data/ext/groonga/rb-grn-operator.o +0 -0
- data/ext/groonga/rb-grn-patricia-trie-cursor.o +0 -0
- data/ext/groonga/rb-grn-patricia-trie.o +0 -0
- data/ext/groonga/rb-grn-plugin.o +0 -0
- data/ext/groonga/rb-grn-posting.o +0 -0
- data/ext/groonga/rb-grn-procedure.o +0 -0
- data/ext/groonga/rb-grn-record.o +0 -0
- data/ext/groonga/rb-grn-snippet.o +0 -0
- data/ext/groonga/rb-grn-table-cursor-key-support.o +0 -0
- data/ext/groonga/rb-grn-table-cursor.o +0 -0
- data/ext/groonga/rb-grn-table-key-support.o +0 -0
- data/ext/groonga/rb-grn-table.c +57 -51
- data/ext/groonga/rb-grn-table.o +0 -0
- data/ext/groonga/rb-grn-type.o +0 -0
- data/ext/groonga/rb-grn-utils.o +0 -0
- data/ext/groonga/rb-grn-variable-size-column.o +0 -0
- data/ext/groonga/rb-grn-variable.o +0 -0
- data/ext/groonga/rb-grn-view-accessor.o +0 -0
- data/ext/groonga/rb-grn-view-cursor.o +0 -0
- data/ext/groonga/rb-grn-view-record.o +0 -0
- data/ext/groonga/rb-grn-view.o +0 -0
- data/ext/groonga/rb-grn.h +10 -4
- data/ext/groonga/rb-groonga.o +0 -0
- data/lib/groonga.rb +9 -6
- data/lib/groonga/schema.rb +75 -46
- data/rroonga-build.rb +2 -2
- data/test/run-test.rb +1 -2
- data/test/test-table-select.rb +0 -5
- data/test/test-type.rb +2 -2
- data/test/test-version.rb +40 -10
- metadata +198 -191
    
        data/Gemfile
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | @@ -104,10 +104,6 @@ Gem::PackageTask.new(spec) do |pkg| | |
| 104 104 | 
             
            end
         | 
| 105 105 |  | 
| 106 106 | 
             
            document_task = Packnga::DocumentTask.new(spec) do |t|
         | 
| 107 | 
            -
              t.yard do |yard_task|
         | 
| 108 | 
            -
                yard_task.files += FileList["ext/**/*.c"]
         | 
| 109 | 
            -
                yard_task.options += ["--markup", "textile"]
         | 
| 110 | 
            -
              end
         | 
| 111 107 | 
             
            end
         | 
| 112 108 |  | 
| 113 109 | 
             
            namespace :reference do
         | 
| @@ -131,7 +127,7 @@ module YARD | |
| 131 127 | 
             
                class Proxy
         | 
| 132 128 | 
             
                  alias_method :initialize_original, :initialize
         | 
| 133 129 | 
             
                  def initialize(namespace, name)
         | 
| 134 | 
            -
                    name = name.gsub(/\AGrn(.*)\z/) do
         | 
| 130 | 
            +
                    name = name.to_s.gsub(/\AGrn(.*)\z/) do
         | 
| 135 131 | 
             
                      suffix = $1
         | 
| 136 132 | 
             
                      case suffix
         | 
| 137 133 | 
             
                      when ""
         | 
| @@ -203,10 +199,9 @@ end | |
| 203 199 |  | 
| 204 200 | 
             
            Rake::ExtensionTask.new("groonga", spec) do |ext|
         | 
| 205 201 | 
             
              if groonga_win32_i386_p
         | 
| 206 | 
            -
                ext.cross_platform = ["x86-mingw32" | 
| 202 | 
            +
                ext.cross_platform = ["x86-mingw32"]
         | 
| 207 203 | 
             
              else
         | 
| 208 204 | 
             
                ext.cross_platform = ["x64-mingw32"]
         | 
| 209 | 
            -
                # ext.cross_platform << "x64-mswin64" # We need to build with VC++ 2010. :<
         | 
| 210 205 | 
             
              end
         | 
| 211 206 | 
             
              if windows?
         | 
| 212 207 | 
             
                ext.gem_spec.files += collect_binary_files(relative_binary_dir)
         | 
    
        data/bug.rb
    ADDED
    
    | @@ -0,0 +1,36 @@ | |
| 1 | 
            +
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'fileutils'
         | 
| 4 | 
            +
            require 'groonga'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            Groonga::Logger.log_path = "/tmp/groonga.log" 
         | 
| 7 | 
            +
            Groonga::Logger.query_log_path = "/tmp/groonga-query.log" 
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            i = 0
         | 
| 10 | 
            +
            loop do
         | 
| 11 | 
            +
              path = "/tmp/db/db" 
         | 
| 12 | 
            +
              FileUtils.rm_rf(File.dirname(path))
         | 
| 13 | 
            +
              FileUtils.mkdir_p(File.dirname(path))
         | 
| 14 | 
            +
              Groonga::Context.default = nil
         | 
| 15 | 
            +
              database = Groonga::Database.create(:path => path)
         | 
| 16 | 
            +
              Groonga::Schema.define do |schema|
         | 
| 17 | 
            +
                schema.create_table("Users",
         | 
| 18 | 
            +
                                    :type => :hash,
         | 
| 19 | 
            +
                                    :key_type => "ShortText") do |table|
         | 
| 20 | 
            +
                  table.uint32("name_length")
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              users = Groonga["Users"]
         | 
| 25 | 
            +
              10.times do
         | 
| 26 | 
            +
                i += 1
         | 
| 27 | 
            +
                exit if i > 100
         | 
| 28 | 
            +
                name = i.to_s
         | 
| 29 | 
            +
                users.add(name, :name_length => name.length)
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
              builder = Groonga::RecordExpressionBuilder.new(users, nil)
         | 
| 32 | 
            +
              builder.query = "name_length:3" 
         | 
| 33 | 
            +
              builder.build
         | 
| 34 | 
            +
              database.close
         | 
| 35 | 
            +
              GC.start
         | 
| 36 | 
            +
            end
         | 
    
        data/crash.rb
    ADDED
    
    | @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'groonga'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            context = Groonga::Context.default
         | 
| 6 | 
            +
            context.connect(:port => 10042)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            10000.times do |i|
         | 
| 9 | 
            +
              p i
         | 
| 10 | 
            +
              GC.stress = true
         | 
| 11 | 
            +
              result = context.select("Program")
         | 
| 12 | 
            +
              result.records.each do |record|
         | 
| 13 | 
            +
                record["_key"]
         | 
| 14 | 
            +
                record["unknown"]
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
              GC.stress = false
         | 
| 17 | 
            +
            end
         | 
| @@ -0,0 +1,260 @@ | |
| 1 | 
            +
             | 
| 2 | 
            +
            SHELL = /bin/sh
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            # V=0 quiet, V=1 verbose.  other values don't work.
         | 
| 5 | 
            +
            V = 0
         | 
| 6 | 
            +
            Q1 = $(V:1=)
         | 
| 7 | 
            +
            Q = $(Q1:0=@)
         | 
| 8 | 
            +
            n=$(NULLCMD)
         | 
| 9 | 
            +
            ECHO1 = $(V:1=@$n)
         | 
| 10 | 
            +
            ECHO = $(ECHO1:0=@echo)
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            #### Start of system configuration section. ####
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            srcdir = /home/kou/work/ruby/rroonga/ext/groonga
         | 
| 15 | 
            +
            topdir = /usr/include/ruby-1.9.1
         | 
| 16 | 
            +
            hdrdir = /usr/include/ruby-1.9.1
         | 
| 17 | 
            +
            arch_hdrdir = /usr/include/ruby-1.9.1/$(arch)
         | 
| 18 | 
            +
            VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
         | 
| 19 | 
            +
            prefix = $(DESTDIR)/usr
         | 
| 20 | 
            +
            rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
         | 
| 21 | 
            +
            exec_prefix = $(prefix)
         | 
| 22 | 
            +
            vendorhdrdir = $(rubyhdrdir)/vendor_ruby
         | 
| 23 | 
            +
            sitehdrdir = $(rubyhdrdir)/site_ruby
         | 
| 24 | 
            +
            rubyhdrdir = $(includedir)/$(RUBY_BASE_NAME)-$(ruby_version)
         | 
| 25 | 
            +
            vendordir = $(DESTDIR)/usr/lib/ruby/vendor_ruby
         | 
| 26 | 
            +
            sitedir = $(DESTDIR)/usr/local/lib/site_ruby
         | 
| 27 | 
            +
            ridir = $(datarootdir)/$(RI_BASE_NAME)
         | 
| 28 | 
            +
            mandir = $(prefix)/share/man
         | 
| 29 | 
            +
            localedir = $(datarootdir)/locale
         | 
| 30 | 
            +
            libdir = $(exec_prefix)/lib
         | 
| 31 | 
            +
            psdir = $(docdir)
         | 
| 32 | 
            +
            pdfdir = $(docdir)
         | 
| 33 | 
            +
            dvidir = $(docdir)
         | 
| 34 | 
            +
            htmldir = $(docdir)
         | 
| 35 | 
            +
            infodir = $(prefix)/share/info
         | 
| 36 | 
            +
            docdir = $(datarootdir)/doc/$(PACKAGE)
         | 
| 37 | 
            +
            oldincludedir = $(DESTDIR)/usr/include
         | 
| 38 | 
            +
            includedir = $(prefix)/include
         | 
| 39 | 
            +
            localstatedir = $(DESTDIR)/var
         | 
| 40 | 
            +
            sharedstatedir = $(prefix)/com
         | 
| 41 | 
            +
            sysconfdir = $(DESTDIR)/etc
         | 
| 42 | 
            +
            datadir = $(datarootdir)
         | 
| 43 | 
            +
            datarootdir = $(prefix)/share
         | 
| 44 | 
            +
            libexecdir = $(prefix)/lib/ruby1.9.1
         | 
| 45 | 
            +
            sbindir = $(exec_prefix)/sbin
         | 
| 46 | 
            +
            bindir = $(exec_prefix)/bin
         | 
| 47 | 
            +
            rubylibdir = $(rubylibprefix)/$(ruby_version)
         | 
| 48 | 
            +
            archdir = $(rubylibdir)/$(arch)
         | 
| 49 | 
            +
            sitelibdir = $(sitedir)/$(ruby_version)
         | 
| 50 | 
            +
            sitearchdir = $(sitelibdir)/$(sitearch)
         | 
| 51 | 
            +
            vendorlibdir = $(vendordir)/$(ruby_version)
         | 
| 52 | 
            +
            vendorarchdir = $(vendorlibdir)/$(sitearch)
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            NULLCMD = :
         | 
| 55 | 
            +
             | 
| 56 | 
            +
            CC = gcc
         | 
| 57 | 
            +
            CXX = g++
         | 
| 58 | 
            +
            LIBRUBY = $(LIBRUBY_SO)
         | 
| 59 | 
            +
            LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
         | 
| 60 | 
            +
            LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
         | 
| 61 | 
            +
            LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
         | 
| 62 | 
            +
            OUTFLAG = -o 
         | 
| 63 | 
            +
            COUTFLAG = -o 
         | 
| 64 | 
            +
             | 
| 65 | 
            +
            RUBY_EXTCONF_H = 
         | 
| 66 | 
            +
            cflags   =  $(optflags) $(debugflags) $(warnflags)
         | 
| 67 | 
            +
            optflags = -O3
         | 
| 68 | 
            +
            debugflags = -ggdb
         | 
| 69 | 
            +
            warnflags = -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration
         | 
| 70 | 
            +
            CFLAGS   = -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -Wall -I/tmp/local/include/groonga 
         | 
| 71 | 
            +
            INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
         | 
| 72 | 
            +
            DEFS     = 
         | 
| 73 | 
            +
            CPPFLAGS = -DRB_GRN_COMPILATION -DGRN_MAJOR_VERSION=1 -DGRN_MINOR_VERSION=3 -DGRN_MICRO_VERSION=0 -DHAVE_RB_ERRINFO -DHAVE_TYPE_ENUM_RUBY_VALUE_TYPE  $(DEFS) $(cppflags)
         | 
| 74 | 
            +
            CXXFLAGS = $(CFLAGS) -fno-strict-aliasing -g
         | 
| 75 | 
            +
            ldflags  = -L.  -rdynamic -Wl,-export-dynamic -L/tmp/local/lib
         | 
| 76 | 
            +
            dldflags = 
         | 
| 77 | 
            +
            ARCH_FLAG = 
         | 
| 78 | 
            +
            DLDFLAGS = $(ldflags) $(dldflags)
         | 
| 79 | 
            +
            LDSHARED = $(CC) -shared
         | 
| 80 | 
            +
            LDSHAREDXX = $(CXX) -shared
         | 
| 81 | 
            +
            AR = ar
         | 
| 82 | 
            +
            EXEEXT = 
         | 
| 83 | 
            +
             | 
| 84 | 
            +
            RUBY_BASE_NAME = ruby
         | 
| 85 | 
            +
            RUBY_INSTALL_NAME = ruby1.9.1
         | 
| 86 | 
            +
            RUBY_SO_NAME = ruby-1.9.1
         | 
| 87 | 
            +
            arch = x86_64-linux
         | 
| 88 | 
            +
            sitearch = $(arch)
         | 
| 89 | 
            +
            ruby_version = 1.9.1
         | 
| 90 | 
            +
            ruby = /usr/bin/ruby1.9.1
         | 
| 91 | 
            +
            RUBY = $(ruby)
         | 
| 92 | 
            +
            RM = rm -f
         | 
| 93 | 
            +
            RM_RF = $(RUBY) -run -e rm -- -rf
         | 
| 94 | 
            +
            RMDIRS = rmdir --ignore-fail-on-non-empty -p
         | 
| 95 | 
            +
            MAKEDIRS = /bin/mkdir -p
         | 
| 96 | 
            +
            INSTALL = /usr/bin/install -c
         | 
| 97 | 
            +
            INSTALL_PROG = $(INSTALL) -m 0755
         | 
| 98 | 
            +
            INSTALL_DATA = $(INSTALL) -m 644
         | 
| 99 | 
            +
            COPY = cp
         | 
| 100 | 
            +
             | 
| 101 | 
            +
            #### End of system configuration section. ####
         | 
| 102 | 
            +
             | 
| 103 | 
            +
            preload = 
         | 
| 104 | 
            +
             | 
| 105 | 
            +
            libpath = . $(libdir)
         | 
| 106 | 
            +
            LIBPATH =  -L. -L$(libdir)
         | 
| 107 | 
            +
            DEFFILE = 
         | 
| 108 | 
            +
             | 
| 109 | 
            +
            CLEANFILES = mkmf.log
         | 
| 110 | 
            +
            DISTCLEANFILES = 
         | 
| 111 | 
            +
            DISTCLEANDIRS = 
         | 
| 112 | 
            +
             | 
| 113 | 
            +
            extout = 
         | 
| 114 | 
            +
            extout_prefix = 
         | 
| 115 | 
            +
            target_prefix = 
         | 
| 116 | 
            +
            LOCAL_LIBS = 
         | 
| 117 | 
            +
            LIBS = $(LIBRUBYARG_SHARED)  -lgroonga -lpthread -lrt -ldl -lcrypt -lm   -lc
         | 
| 118 | 
            +
            SRCS = rb-grn-procedure.c rb-grn-column.c rb-grn-index-column.c rb-grn-encoding-support.c rb-grn-variable.c rb-grn-table.c rb-grn-hash-cursor.c rb-grn-table-cursor-key-support.c rb-grn-object.c rb-grn-double-array-trie.c rb-grn-view-accessor.c rb-grn-table-key-support.c rb-grn-array.c rb-grn-patricia-trie.c rb-grn-double-array-trie-cursor.c rb-grn-utils.c rb-grn-record.c rb-groonga.c rb-grn-exception.c rb-grn-variable-size-column.c rb-grn-encoding.c rb-grn-expression-builder.c rb-grn-operator.c rb-grn-snippet.c rb-grn-array-cursor.c rb-grn-type.c rb-grn-table-cursor.c rb-grn-fix-size-column.c rb-grn-view-cursor.c rb-grn-logger.c rb-grn-plugin.c rb-grn-database.c rb-grn-view-record.c rb-grn-patricia-trie-cursor.c rb-grn-index-cursor.c rb-grn-view.c rb-grn-accessor.c rb-grn-context.c rb-grn-posting.c rb-grn-expression.c rb-grn-hash.c
         | 
| 119 | 
            +
            OBJS = rb-grn-procedure.o rb-grn-column.o rb-grn-index-column.o rb-grn-encoding-support.o rb-grn-variable.o rb-grn-table.o rb-grn-hash-cursor.o rb-grn-table-cursor-key-support.o rb-grn-object.o rb-grn-double-array-trie.o rb-grn-view-accessor.o rb-grn-table-key-support.o rb-grn-array.o rb-grn-patricia-trie.o rb-grn-double-array-trie-cursor.o rb-grn-utils.o rb-grn-record.o rb-groonga.o rb-grn-exception.o rb-grn-variable-size-column.o rb-grn-encoding.o rb-grn-expression-builder.o rb-grn-operator.o rb-grn-snippet.o rb-grn-array-cursor.o rb-grn-type.o rb-grn-table-cursor.o rb-grn-fix-size-column.o rb-grn-view-cursor.o rb-grn-logger.o rb-grn-plugin.o rb-grn-database.o rb-grn-view-record.o rb-grn-patricia-trie-cursor.o rb-grn-index-cursor.o rb-grn-view.o rb-grn-accessor.o rb-grn-context.o rb-grn-posting.o rb-grn-expression.o rb-grn-hash.o
         | 
| 120 | 
            +
            TARGET = groonga
         | 
| 121 | 
            +
            DLLIB = $(TARGET).so
         | 
| 122 | 
            +
            EXTSTATIC = 
         | 
| 123 | 
            +
            STATIC_LIB = 
         | 
| 124 | 
            +
             | 
| 125 | 
            +
            BINDIR        = $(bindir)
         | 
| 126 | 
            +
            RUBYCOMMONDIR = $(sitedir)$(target_prefix)
         | 
| 127 | 
            +
            RUBYLIBDIR    = $(sitelibdir)$(target_prefix)
         | 
| 128 | 
            +
            RUBYARCHDIR   = $(sitearchdir)$(target_prefix)
         | 
| 129 | 
            +
            HDRDIR        = $(rubyhdrdir)/ruby$(target_prefix)
         | 
| 130 | 
            +
            ARCHHDRDIR    = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
         | 
| 131 | 
            +
             | 
| 132 | 
            +
            TARGET_SO     = $(DLLIB)
         | 
| 133 | 
            +
            CLEANLIBS     = $(TARGET).so 
         | 
| 134 | 
            +
            CLEANOBJS     = *.o  *.bak
         | 
| 135 | 
            +
             | 
| 136 | 
            +
            all:    $(DLLIB)
         | 
| 137 | 
            +
            static: $(STATIC_LIB)
         | 
| 138 | 
            +
            .PHONY: all install static install-so install-rb
         | 
| 139 | 
            +
            .PHONY: clean clean-so clean-rb
         | 
| 140 | 
            +
             | 
| 141 | 
            +
            clean-rb-default::
         | 
| 142 | 
            +
            clean-rb::
         | 
| 143 | 
            +
            clean-so::
         | 
| 144 | 
            +
            clean: clean-so clean-rb-default clean-rb
         | 
| 145 | 
            +
            		@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
         | 
| 146 | 
            +
             | 
| 147 | 
            +
            distclean-rb-default::
         | 
| 148 | 
            +
            distclean-rb::
         | 
| 149 | 
            +
            distclean-so::
         | 
| 150 | 
            +
            distclean: clean distclean-so distclean-rb-default distclean-rb
         | 
| 151 | 
            +
            		@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
         | 
| 152 | 
            +
            		@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
         | 
| 153 | 
            +
            		@-$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
         | 
| 154 | 
            +
             | 
| 155 | 
            +
            realclean: distclean
         | 
| 156 | 
            +
            install: install-so install-rb
         | 
| 157 | 
            +
             | 
| 158 | 
            +
            install-so: $(RUBYARCHDIR)
         | 
| 159 | 
            +
            install-so: $(RUBYARCHDIR)/$(DLLIB)
         | 
| 160 | 
            +
            $(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
         | 
| 161 | 
            +
            	@-$(MAKEDIRS) $(@D)
         | 
| 162 | 
            +
            	$(INSTALL_PROG) $(DLLIB) $(@D)
         | 
| 163 | 
            +
            install-rb: pre-install-rb install-rb-default
         | 
| 164 | 
            +
            install-rb-default: pre-install-rb-default
         | 
| 165 | 
            +
            pre-install-rb: Makefile
         | 
| 166 | 
            +
            pre-install-rb-default: Makefile
         | 
| 167 | 
            +
            pre-install-rb-default:
         | 
| 168 | 
            +
            	$(ECHO) installing default groonga libraries
         | 
| 169 | 
            +
            pre-install-rb: $(RUBYLIBDIR)/groonga
         | 
| 170 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/schema.rb $(RUBYLIBDIR)/groonga
         | 
| 171 | 
            +
            $(RUBYLIBDIR)/groonga/schema.rb: $(srcdir)/../../lib/groonga/schema.rb
         | 
| 172 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/schema.rb $(@D)
         | 
| 173 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/expression-builder-19.rb $(RUBYLIBDIR)/groonga
         | 
| 174 | 
            +
            $(RUBYLIBDIR)/groonga/expression-builder-19.rb: $(srcdir)/../../lib/groonga/expression-builder-19.rb
         | 
| 175 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/expression-builder-19.rb $(@D)
         | 
| 176 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/pagination.rb $(RUBYLIBDIR)/groonga
         | 
| 177 | 
            +
            $(RUBYLIBDIR)/groonga/pagination.rb: $(srcdir)/../../lib/groonga/pagination.rb
         | 
| 178 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/pagination.rb $(@D)
         | 
| 179 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/view-record.rb $(RUBYLIBDIR)/groonga
         | 
| 180 | 
            +
            $(RUBYLIBDIR)/groonga/view-record.rb: $(srcdir)/../../lib/groonga/view-record.rb
         | 
| 181 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/view-record.rb $(@D)
         | 
| 182 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/query-log.rb $(RUBYLIBDIR)/groonga
         | 
| 183 | 
            +
            $(RUBYLIBDIR)/groonga/query-log.rb: $(srcdir)/../../lib/groonga/query-log.rb
         | 
| 184 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/query-log.rb $(@D)
         | 
| 185 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/patricia-trie.rb $(RUBYLIBDIR)/groonga
         | 
| 186 | 
            +
            $(RUBYLIBDIR)/groonga/patricia-trie.rb: $(srcdir)/../../lib/groonga/patricia-trie.rb
         | 
| 187 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/patricia-trie.rb $(@D)
         | 
| 188 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/grntest-log.rb $(RUBYLIBDIR)/groonga
         | 
| 189 | 
            +
            $(RUBYLIBDIR)/groonga/grntest-log.rb: $(srcdir)/../../lib/groonga/grntest-log.rb
         | 
| 190 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/grntest-log.rb $(@D)
         | 
| 191 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/dumper.rb $(RUBYLIBDIR)/groonga
         | 
| 192 | 
            +
            $(RUBYLIBDIR)/groonga/dumper.rb: $(srcdir)/../../lib/groonga/dumper.rb
         | 
| 193 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/dumper.rb $(@D)
         | 
| 194 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/posting.rb $(RUBYLIBDIR)/groonga
         | 
| 195 | 
            +
            $(RUBYLIBDIR)/groonga/posting.rb: $(srcdir)/../../lib/groonga/posting.rb
         | 
| 196 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/posting.rb $(@D)
         | 
| 197 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/context.rb $(RUBYLIBDIR)/groonga
         | 
| 198 | 
            +
            $(RUBYLIBDIR)/groonga/context.rb: $(srcdir)/../../lib/groonga/context.rb
         | 
| 199 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/context.rb $(@D)
         | 
| 200 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/record.rb $(RUBYLIBDIR)/groonga
         | 
| 201 | 
            +
            $(RUBYLIBDIR)/groonga/record.rb: $(srcdir)/../../lib/groonga/record.rb
         | 
| 202 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/record.rb $(@D)
         | 
| 203 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga/expression-builder.rb $(RUBYLIBDIR)/groonga
         | 
| 204 | 
            +
            $(RUBYLIBDIR)/groonga/expression-builder.rb: $(srcdir)/../../lib/groonga/expression-builder.rb
         | 
| 205 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga/expression-builder.rb $(@D)
         | 
| 206 | 
            +
            pre-install-rb: $(RUBYLIBDIR)
         | 
| 207 | 
            +
            install-rb: $(RUBYLIBDIR)/groonga.rb $(RUBYLIBDIR)
         | 
| 208 | 
            +
            $(RUBYLIBDIR)/groonga.rb: $(srcdir)/../../lib/groonga.rb
         | 
| 209 | 
            +
            	$(Q) $(INSTALL_DATA) $(srcdir)/../../lib/groonga.rb $(@D)
         | 
| 210 | 
            +
            pre-install-rb:
         | 
| 211 | 
            +
            	$(ECHO) installing groonga libraries
         | 
| 212 | 
            +
            $(RUBYARCHDIR):
         | 
| 213 | 
            +
            	$(Q) $(MAKEDIRS) $@
         | 
| 214 | 
            +
            $(RUBYLIBDIR)/groonga:
         | 
| 215 | 
            +
            	$(Q) $(MAKEDIRS) $@
         | 
| 216 | 
            +
            $(RUBYLIBDIR):
         | 
| 217 | 
            +
            	$(Q) $(MAKEDIRS) $@
         | 
| 218 | 
            +
             | 
| 219 | 
            +
            site-install: site-install-so site-install-rb
         | 
| 220 | 
            +
            site-install-so: install-so
         | 
| 221 | 
            +
            site-install-rb: install-rb
         | 
| 222 | 
            +
             | 
| 223 | 
            +
            .SUFFIXES: .c .m .cc .mm .cxx .cpp .C .o
         | 
| 224 | 
            +
             | 
| 225 | 
            +
            .cc.o:
         | 
| 226 | 
            +
            	$(ECHO) compiling $(<)
         | 
| 227 | 
            +
            	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
         | 
| 228 | 
            +
             | 
| 229 | 
            +
            .mm.o:
         | 
| 230 | 
            +
            	$(ECHO) compiling $(<)
         | 
| 231 | 
            +
            	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
         | 
| 232 | 
            +
             | 
| 233 | 
            +
            .cxx.o:
         | 
| 234 | 
            +
            	$(ECHO) compiling $(<)
         | 
| 235 | 
            +
            	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
         | 
| 236 | 
            +
             | 
| 237 | 
            +
            .cpp.o:
         | 
| 238 | 
            +
            	$(ECHO) compiling $(<)
         | 
| 239 | 
            +
            	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
         | 
| 240 | 
            +
             | 
| 241 | 
            +
            .C.o:
         | 
| 242 | 
            +
            	$(ECHO) compiling $(<)
         | 
| 243 | 
            +
            	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
         | 
| 244 | 
            +
             | 
| 245 | 
            +
            .c.o:
         | 
| 246 | 
            +
            	$(ECHO) compiling $(<)
         | 
| 247 | 
            +
            	$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
         | 
| 248 | 
            +
             | 
| 249 | 
            +
            .m.o:
         | 
| 250 | 
            +
            	$(ECHO) compiling $(<)
         | 
| 251 | 
            +
            	$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
         | 
| 252 | 
            +
             | 
| 253 | 
            +
            $(DLLIB): $(OBJS) Makefile
         | 
| 254 | 
            +
            	$(ECHO) linking shared-object $(DLLIB)
         | 
| 255 | 
            +
            	@-$(RM) $(@)
         | 
| 256 | 
            +
            	$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
         | 
| 257 | 
            +
             | 
| 258 | 
            +
             | 
| 259 | 
            +
             | 
| 260 | 
            +
            $(OBJS): $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.h
         | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
    
        data/ext/groonga/rb-grn-column.c
    CHANGED
    
    | @@ -179,51 +179,48 @@ rb_grn_column_get_local_name (VALUE self) | |
| 179 179 | 
             
             * ているGroonga::Expressionを取得できる。
         | 
| 180 180 | 
             
             * Groonga::Expression#snippetを使うことにより、指定した条件
         | 
| 181 181 | 
             
             * 用のスニペットを簡単に生成できる。
         | 
| 182 | 
            -
             * | 
| 183 | 
            -
             * | 
| 184 | 
            -
             * | 
| 185 | 
            -
             *    | 
| 186 | 
            -
             * | 
| 187 | 
            -
             * | 
| 188 | 
            -
             * | 
| 189 | 
            -
             * | 
| 190 | 
            -
             * | 
| 191 | 
            -
             * | 
| 192 | 
            -
             * | 
| 193 | 
            -
             *      | 
| 182 | 
            +
             *
         | 
| 183 | 
            +
             * bc. !!!ruby
         | 
| 184 | 
            +
             * results = description_column.select do |column|
         | 
| 185 | 
            +
             *   column =~ "groonga"
         | 
| 186 | 
            +
             * end
         | 
| 187 | 
            +
             * snippet = results.expression.snippet([["<em>", "</em>"]])
         | 
| 188 | 
            +
             * results.each do |record|
         | 
| 189 | 
            +
             *   puts "#{record['name']}の説明文の中で「groonga」が含まれる部分"
         | 
| 190 | 
            +
             *   snippet.execute(record["description"]).each do |snippet|
         | 
| 191 | 
            +
             *     puts "---"
         | 
| 192 | 
            +
             *     puts "#{snippet}..."
         | 
| 193 | 
            +
             *     puts "---"
         | 
| 194 194 | 
             
             *   end
         | 
| 195 | 
            +
             * end
         | 
| 196 | 
            +
             *
         | 
| 195 197 | 
             
             * 出力例
         | 
| 196 | 
            -
             * | 
| 197 | 
            -
             * | 
| 198 | 
            -
             * | 
| 199 | 
            -
             * | 
| 200 | 
            -
             *  | 
| 198 | 
            +
             *
         | 
| 199 | 
            +
             * pre. rroongaの説明文の中で「groonga」が含まれる部分
         | 
| 200 | 
            +
             * ---
         | 
| 201 | 
            +
             * rroongaは<em>groonga</em>のいわゆるDB-APIの層の...
         | 
| 202 | 
            +
             * ---
         | 
| 201 203 | 
             
             *
         | 
| 202 204 | 
             
             * _query_ には「[カラム名]:[演算子][値]」という書式で条件を
         | 
| 203 205 | 
             
             * 指定する。演算子は以下の通り。
         | 
| 204 206 | 
             
             *
         | 
| 205 | 
            -
             * [ | 
| 206 | 
            -
             * | 
| 207 | 
            -
             * [< | 
| 208 | 
            -
             * | 
| 209 | 
            -
             * [ | 
| 210 | 
            -
             * | 
| 211 | 
            -
             * [ | 
| 212 | 
            -
             *   [カラム値] > [値]
         | 
| 213 | 
            -
             * [<tt><=</tt>]
         | 
| 214 | 
            -
             *   [カラム値] <= [値]
         | 
| 215 | 
            -
             * [<tt>>=</tt>]
         | 
| 216 | 
            -
             *   [カラム値] >= [値]
         | 
| 217 | 
            -
             * [<tt>@</tt>]
         | 
| 218 | 
            -
             *   [カラム値]が[値]を含んでいるかどうか
         | 
| 207 | 
            +
             * - なし := [カラム値] == [値]
         | 
| 208 | 
            +
             * - @!@ := [カラム値] != [値]
         | 
| 209 | 
            +
             * - @<@ := [カラム値] < [値]
         | 
| 210 | 
            +
             * - @>@ := [カラム値] > [値]
         | 
| 211 | 
            +
             * - @<=@ := [カラム値] <= [値]
         | 
| 212 | 
            +
             * - @>=@ := [カラム値] >= [値]
         | 
| 213 | 
            +
             * - @@@ := [カラム値]が[値]を含んでいるかどうか
         | 
| 219 214 | 
             
             *
         | 
| 220 215 | 
             
             * 例:
         | 
| 221 | 
            -
             * | 
| 222 | 
            -
             * | 
| 223 | 
            -
             * | 
| 224 | 
            -
             *   " | 
| 225 | 
            -
             * | 
| 226 | 
            -
             * | 
| 216 | 
            +
             *
         | 
| 217 | 
            +
             * - @"groonga"@ := _column_ カラムの値が @"groonga"@ のレコードにマッチ
         | 
| 218 | 
            +
             * - @"name:daijiro"@ :=
         | 
| 219 | 
            +
             *   _column_ カラムが属しているテーブルの @"name"@ カラムの値が
         | 
| 220 | 
            +
             *   @"daijiro"@ のレコードにマッチ  =:
         | 
| 221 | 
            +
             * - @"description:@@@groonga"@ :=
         | 
| 222 | 
            +
             *   _column_ カラムが属しているテーブルの @"description"@ カラムが
         | 
| 223 | 
            +
             *   @"groonga"@ を含んでいるレコードにマッチ =:
         | 
| 227 224 | 
             
             *
         | 
| 228 225 | 
             
             * _expression_ には既に作成済みのGroonga::Expressionを渡す
         | 
| 229 226 | 
             
             *
         |