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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
7b2d8f8eaa7b few changes
Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
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;