Mercurial > hg > Applications > casawiki
annotate Cassandra/Cass4YukiWiki.pm @ 3:7b2d8f8eaa7b default tip
few changes
author | Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Jun 2010 22:32:19 +0900 |
parents | d67370516d8c |
children |
rev | line source |
---|---|
2
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 #this perl module for using Cassandra DB on YukiWiki |
3 | 2 package Cassandra::Cass4YukiWiki; |
2
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 use strict; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 use warnings; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 use lib './Cassandra/lib'; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 use Cassandra::Cassandra; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 use Cassandra::Constants; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 use Cassandra::Types; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 use Thrift; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 use Thrift::BinaryProtocol; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 use Thrift::Socket; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 use Thrift::BufferedTransport; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 sub TIEHASH |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 my ($_pkg,$_host,$_port,$_ksp,$_cf,$_row) = @_; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 my $self; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 $self->{_socket} = new Thrift::Socket($_host,$_port); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 $self->{_transport} = new Thrift::BufferedTransport($self->{_socket},1024,1024); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 $self->{_protocol} = new Thrift::BinaryProtocol($self->{_transport}); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 $self->{_client} = new Cassandra::CassandraClient($self->{_protocol}); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 $self->{_keyspace} = $_ksp; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 $self->{_columnfamily} = $_cf; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 $self->{_row} = $_row; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 $self->{_consistency_level} = Cassandra::ConsistencyLevel::ONE; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 $self->{_transport}->open(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 return bless $self,$_pkg; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 sub FETCH |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 my $self = shift; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 my $column = shift; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 my $client = $self->{_client}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 my $column_path = new Cassandra::ColumnPath(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 $column_path->{column_family} = $self->{_columnfamily}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 $column_path->{super_column} = undef; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 $column_path->{column} = $column; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 my $value; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 eval{ |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 $value = $client->get($self->{_keyspace},$self->{_row},$column_path,$self->{_consistency_level}); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 }; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 if($@){ |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 return undef; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 return $value->{column}->{value}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 sub EXIST |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 my $self = shift; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 my $column = shift; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 my $client = $self->{_client}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 my $column_path = new Cassandra::ColumnPath(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 $column_path->{column_family} = $self->{_columnfamily}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 $column_path->{super_column} = undef; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 $column_path->{column} = $column; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 my $value; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 eval{ |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 $value = $client->get($self->{_keyspace},$self->{_row},$column_path,$self->{_consistency_level}); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 }; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 if($@){ |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 return 0; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 return 1; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 sub STORE |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 my ($_self,$_column,$_value) = @_; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 my $column_path = new Cassandra::ColumnPath(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 $column_path->{column_family} = $_self->{_columnfamily}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 $column_path->{super_column} = undef; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 $column_path->{column} = $_column; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 my $client = $_self->{_client}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 $client->insert($_self->{_keyspace},$_self->{_row},$column_path,$_value,time,$_self->{_consistency_level}); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 return $_value; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 sub DELETE |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 my ($_self,$_column) = @_; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 my $client = $_self->{_client}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 my $column_path = new Cassandra::ColumnPath(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 $column_path->{column_family} = $_self->{_columnfamily}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 $column_path->{super_column} = undef; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 $column_path->{column} = $_column; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 $client->remove($_self->{_keyspace},$_self->{_row},$column_path,time,$_self->{_consistency_level}); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 return undef; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 sub FIRSTKEY |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 my ($_self) = @_; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 my $client = $_self->{_client}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 my $column_parent = new Cassandra::ColumnParent(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 $column_parent->{column_family} = $_self->{_columnfamily}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 $column_parent->{super_column} = undef; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 my $slice_range = new Cassandra::SliceRange(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 $slice_range->{start} = ""; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 $slice_range->{finish} = ""; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 my $predicate = new Cassandra::SlicePredicate(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 my @list = $predicate->{column_names}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 $predicate->{slice_range} = $slice_range; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 my @result = $client->get_slice($_self->{_keyspace},$_self->{_row},$column_parent,$predicate,$_self->{_consistency_level}); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 $_self->{_column_list} = $result[0]; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 my $first_column = shift @{$_self->{_column_list}}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 return $first_column->{column}->{name}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 sub NEXTKEY |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 my $_self = shift; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 my $next_item = shift @{$_self->{_column_list}}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 return $next_item->{column}->{name}; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 sub DESTROY |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 { |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 my $self = shift; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 $self->{_transport}->close(); |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 return 1; |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 } |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 |
d67370516d8c
change filename "Cassandra/CassHash.pm" to "Cassandra/Cass4YukiWiki.pm"
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 1; |