/[Search-TokyoDystopia]/lib/Search/TokyoDystopia.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /lib/Search/TokyoDystopia.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 27 - (hide annotations)
Mon Aug 18 19:07:04 2008 UTC (15 years, 7 months ago) by dpavlin
File size: 2883 byte(s)
tcidbrnum
1 dpavlin 1 package Search::TokyoDystopia;
2    
3     use strict;
4     use warnings;
5    
6     require Exporter;
7     require XSLoader;
8     use base qw(Exporter);
9     our $VERSION = '0.00';
10     our $debug = 0;
11     XSLoader::load('Search::TokyoDystopia', $VERSION);
12    
13 dpavlin 10 our @EXPORT = qw(
14     tcidberrmsg
15     tcidbnew
16     tcidbdel
17     tcidbnew
18     tcidbecode
19     tcidbtune
20     IDBTLARGE
21     IDBTDEFLATE
22     IDBTTCBS
23     tcidbsetcache
24     tcidbsetfwmmax
25     tcidbopen
26     IDBOREADER
27     IDBOWRITER
28     IDBOCREAT
29     IDBOTRUNC
30     IDBONOLCK
31     IDBOLCKNB
32 dpavlin 11 tcidbclose
33 dpavlin 14 tcidbput
34 dpavlin 15 tcidbout
35 dpavlin 17 tcidbget
36 dpavlin 18 tcidbsearch
37 dpavlin 22 tcidbsearch2
38 dpavlin 18 IDBSSUBSTR
39     IDBSPREFIX
40     IDBSSUFFIX
41     IDBSFULL
42     IDBSTOKEN
43     IDBSTOKPRE
44     IDBSTOKSUF
45 dpavlin 19 tcidbiterinit
46 dpavlin 20 tcidbiternext
47 dpavlin 21 tcidbsync
48 dpavlin 23 tcidboptimize
49 dpavlin 24 tcidbvanish
50 dpavlin 25 tcidbcopy
51 dpavlin 26 tcidbpath
52 dpavlin 27 tcidbrnum
53 dpavlin 10 );
54    
55 dpavlin 1 =head1 NAME
56    
57     Search::TokyoDystopia - XS bindings for Tokyo Dystopia
58    
59 dpavlin 10 =head1 EXPORTS
60 dpavlin 1
61 dpavlin 10 If you don't prevent it, it will export all kind of stuff into your namespace to cut down on typing.
62    
63     =head2 tcidberrmsg
64    
65 dpavlin 12 my $message = tcidberrmsg( $ecode );
66 dpavlin 10
67     =head2 tcidbnew
68    
69 dpavlin 12 my $idb = tcidbnew;
70 dpavlin 10
71     =head2 tcidbdel
72    
73 dpavlin 12 tcidbdel( $idb );
74 dpavlin 10
75     =head2 tcidbecode
76    
77 dpavlin 12 my $ecode = tcidbecode( $idb );
78 dpavlin 10
79     =head2 tcidbtune
80    
81 dpavlin 13 my $success = tcidbtune( $idb, $ernum, $etnum, $iusiz, IDBTLARGE | IDBTDEFLATE );
82 dpavlin 10
83 dpavlin 1 =cut
84    
85 dpavlin 10 use constant {
86     IDBTLARGE => 1 << 0,
87     IDBTDEFLATE => 1 << 1,
88     IDBTTCBS => 1 << 2,
89     };
90    
91     =head2 tcidbsetcache
92    
93 dpavlin 12 my $success = tcidbsetcache( $idb, $icsiz, $lcnum );
94 dpavlin 10
95     =head2 tcidbsetfwmmax
96    
97 dpavlin 12 my $success = tcidbsetfwmmax( $idb, $fwnum );
98 dpavlin 10
99     =head2 tcidbopen
100    
101 dpavlin 13 my $success = tcidbopen( $idb, 'casket', IDBOWRITER | IDBOCREAT );
102 dpavlin 10
103     =cut
104    
105     use constant {
106     IDBOREADER => 1 << 0,
107     IDBOWRITER => 1 << 1,
108     IDBOCREAT => 1 << 2,
109     IDBOTRUNC => 1 << 3,
110     IDBONOLCK => 1 << 4,
111     IDBOLCKNB => 1 << 5,
112     };
113    
114 dpavlin 12 =head2 tcidbclose
115    
116     my $success = tcidbclose( $idb );
117    
118 dpavlin 14 =head2 tcidbput
119    
120 dpavlin 17 my $success = tcidbput( $idb, $id, $text );
121 dpavlin 14
122 dpavlin 16 =head2 tcidbout
123    
124     my $success = tcidbout( $idb, $id );
125    
126 dpavlin 17 =head2 tcidbget
127    
128     my $text = tcidbget( $idb, $id );
129    
130 dpavlin 18 =head2 tcidbsearch
131    
132 dpavlin 22 my $ids = tcidbsearch( $idb, $word, IDBSSUBSTR );
133 dpavlin 18
134     =cut
135    
136     use constant {
137     IDBSSUBSTR => 0, # substring matching
138     IDBSPREFIX => 1, # prefix matching
139     IDBSSUFFIX => 2, # suffix matching
140     IDBSFULL => 3, # full matching
141     IDBSTOKEN => 4, # token matching
142     IDBSTOKPRE => 5, # token prefix matching
143     IDBSTOKSUF => 6, # token suffix matching
144     };
145    
146 dpavlin 22 =head2 tcidbsearch2
147    
148     my $ids = tcidbsearch2( $idb, $expr );
149    
150 dpavlin 19 =head2 tcidbiterinit
151    
152 dpavlin 20 my $success = tcidbiterinit( $idb );
153 dpavlin 19
154 dpavlin 20 =head2 tcidbiternext
155    
156     my $id = tcidbiternext( $idb );
157    
158 dpavlin 21 =head2 tcidbsync
159    
160     my $success = tcidbsync( $idb );
161    
162 dpavlin 23 =head2 tcidboptimize
163    
164     my $success = tcidboptimize( $idb );
165    
166 dpavlin 24 =head2 tcidbvanish
167    
168     my $success = tcidbvanish( $idb );
169    
170 dpavlin 25 =head2 tcidbcopy
171    
172     my $success = tcidbcopy( $idb, '/path/of/copy' );
173    
174 dpavlin 26 =head2 tcidbpath
175    
176     my $path = tcidbpath( $idb );
177    
178 dpavlin 27 =head2 tcidbrnum
179    
180     my $number_of_records = tcidbrnum( $idb );
181    
182 dpavlin 19 =cut
183    
184 dpavlin 5 =head1 KNOWN BUGS
185 dpavlin 1
186 dpavlin 5 Low-level functions often just die when called on invalid (or deleted) database
187    
188     =cut
189    
190 dpavlin 1 1;

  ViewVC Help
Powered by ViewVC 1.1.26