In Files

Class Index [+]

Quicksearch

TokyoTyrant::RDBTBL

This class inherits the class “TokyoTyrant::RDB”. All methods are specific to servers of the table database.%%

Constants

ITLEXICAL

index type: lexical string

ITDECIMAL

index type: decimal string

ITTOKEN

index type: token inverted index

ITQGRAM

index type: q-gram inverted index

ITOPT

index type: optimize

ITVOID

index type: void

ITKEEP

index type: keep existing index

Public Instance Methods

genuid() click to toggle source

Generate a unique ID number.%% The return value is the new unique ID number or -1 on failure.%%

      # File tokyotyrant.rb, line 1254
1254:     def genuid()
1255:       rv = misc("genuid", Array::new, 0)
1256:       return 1 if !rv
1257:       return rv[0]
1258:     end
get(pkey) click to toggle source

Retrieve a record.%% `pkey’ specifies the primary key.%% If successful, the return value is a hash of the columns of the corresponding record. `nil’ is returned if no record corresponds.%%

      # File tokyotyrant.rb, line 1200
1200:     def get(pkey)
1201:       pkey = _argstr(pkey)
1202:       args = Array::new
1203:       args.push(pkey)
1204:       rv = misc("get", args)
1205:       if !rv
1206:         @ecode = ENOREC if @ecode == EMISC
1207:         return nil
1208:       end
1209:       cols = Hash::new()
1210:       cnum = rv.length
1211:       cnum -= 1
1212:       i = 0
1213:       while i < cnum
1214:         cols[rv[i]] = rv[i+1]
1215:         i += 2
1216:       end
1217:       return cols
1218:     end
mget(recs) click to toggle source

Retrieve records.%% `recs’ specifies a hash containing the retrieval keys. As a result of this method, keys existing in the database have the corresponding columns and keys not existing in the database are removed.%% If successful, the return value is the number of retrieved records or -1 on failure.%% Due to the protocol restriction, this method can not handle records with binary columns including the “0“ chracter.%%

      # File tokyotyrant.rb, line 1223
1223:     def mget(recs)
1224:       rv = super(recs)
1225:       return 1 if rv < 0
1226:       recs.each do |pkey, value|
1227:         cols = Hash::new
1228:         cary = value.split("\00"")
1229:         cnum = cary.size - 1
1230:         i = 0
1231:         while i < cnum
1232:           cols[cary[i]] = cary[i+1]
1233:           i += 2
1234:         end
1235:         recs[pkey] = cols
1236:       end
1237:       return rv
1238:     end
out(pkey) click to toggle source

Remove a record.%% `pkey’ specifies the primary key.%% If successful, the return value is true, else, it is false.%%

      # File tokyotyrant.rb, line 1186
1186:     def out(pkey)
1187:       pkey = _argstr(pkey)
1188:       args = Array::new
1189:       args.push(pkey)
1190:       rv = misc("out", args, 0)
1191:       if !rv
1192:         @ecode = ENOREC if @ecode == EMISC
1193:         return false
1194:       end
1195:       return true
1196:     end
put(pkey, cols) click to toggle source

Store a record.%% `pkey’ specifies the primary key.%% `cols’ specifies a hash containing columns.%% If successful, the return value is true, else, it is false.%% If a record with the same key exists in the database, it is overwritten.%%

      # File tokyotyrant.rb, line 1133
1133:     def put(pkey, cols)
1134:       pkey = _argstr(pkey)
1135:       raise ArgumentError if !cols.is_a?(Hash)
1136:       args = Array::new
1137:       args.push(pkey)
1138:       cols.each do |ckey, cvalue|
1139:         args.push(ckey)
1140:         args.push(cvalue)
1141:       end
1142:       rv = misc("put", args, 0)
1143:       return rv ? true : false
1144:     end
putcat(pkey, cols) click to toggle source

Concatenate columns of the existing record.%% `pkey’ specifies the primary key.%% `cols’ specifies a hash containing columns.%% If successful, the return value is true, else, it is false.%% If there is no corresponding record, a new record is created.%%

      # File tokyotyrant.rb, line 1171
1171:     def putcat(pkey, cols)
1172:       pkey = _argstr(pkey)
1173:       raise ArgumentError if !cols.is_a?(Hash)
1174:       args = Array::new
1175:       args.push(pkey)
1176:       cols.each do |ckey, cvalue|
1177:         args.push(ckey)
1178:         args.push(cvalue)
1179:       end
1180:       rv = misc("putcat", args, 0)
1181:       return rv ? true : false
1182:     end
putkeep(pkey, cols) click to toggle source

Store a new record.%% `pkey’ specifies the primary key.%% `cols’ specifies a hash containing columns.%% If successful, the return value is true, else, it is false.%% If a record with the same key exists in the database, this method has no effect.%%

      # File tokyotyrant.rb, line 1150
1150:     def putkeep(pkey, cols)
1151:       pkey = _argstr(pkey)
1152:       raise ArgumentError if !cols.is_a?(Hash)
1153:       args = Array::new
1154:       args.push(pkey)
1155:       cols.each do |ckey, cvalue|
1156:         args.push(ckey)
1157:         args.push(cvalue)
1158:       end
1159:       rv = misc("putkeep", args, 0)
1160:       if !rv
1161:         @ecode = EKEEP if @ecode == EMISC
1162:         return false
1163:       end
1164:       return true
1165:     end
setindex(name, type) click to toggle source

Set a column index.%% `name’ specifies the name of a column. If the name of an existing index is specified, the index is rebuilt. An empty string means the primary key.%% `type’ specifies the index type: `TokyoTyrant::RDBTBL::ITLEXICAL’ for lexical string, `TokyoTyrant::RDBTBL::ITDECIMAL’ for decimal string, `TokyoTyrant::RDBTBL::ITTOKEN’ for token inverted index, `TokyoTyrant::RDBTBL::ITQGRAM’ for q-gram inverted index. If it is `TokyoTyrant::RDBTBL::ITOPT’, the index is optimized. If it is `TokyoTyrant::RDBTBL::ITVOID’, the index is removed. If `TokyoTyrant::RDBTBL::ITKEEP’ is added by bitwise-or and the index exists, this method merely returns failure.%% If successful, the return value is true, else, it is false.%%

      # File tokyotyrant.rb, line 1243
1243:     def setindex(name, type)
1244:       name = _argstr(name)
1245:       type = _argnum(type)
1246:       args = Array::new
1247:       args.push(name)
1248:       args.push(type)
1249:       rv = misc("setindex", args, 0)
1250:       return rv ? true : false
1251:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.