1#!perl 2use strict; 3 4BEGIN 5{ 6 require Test::More; 7 if (! eval { require DBD::SQLite }) { 8 Test::More->import(skipall => 'DBD::SQLite not available'); 9 } else { 10 Test::More->import(tests => 6); 11 } 12} 13 14package MyDATA; 15use strict; 16use base qw(Class::DBI); 17use Class::DBI::Plugin::Senna 18 index_filename => 't/test_index', 19 index_column => 'data' 20; 21__PACKAGE__->set_db(Main => 'dbi:SQLite:dbname=t/test.db', undef, undef, { AutoCommit => 1}); 22__PACKAGE__->table('MyDATA'); 23__PACKAGE__->columns(All => qw(id data)); 24 251; 26 27package main; 28use strict; 29 30MyDATA->db_Main->do(qq{ 31 CREATE TABLE MyDATA ( 32 id PRIMARY KEY, 33 data TEXT 34 ); 35}); 36 37my $id = 'a'; 38while (<DATA>) { 39 chomp; 40 MyDATA->create({ id => $id++, data => $_ }); 41} 42 43my $iter = MyDATA->fulltext_search("���ޤä�"); 44isa_ok($iter, 'Class::DBI::Plugin::Senna::Iterator'); 45is($iter->count, 2); 46while (my $e = $iter->next) { 47 ok($e); 48} 49 50my $obj = MyDATA->retrieve('b'); 51$obj->data("���Ť�θ���ˤ������桢���ᤢ�ޤ����֤�Ҥ��ޤҤ���ʤ��ˡ����Ȥ�ऴ�Ȥʤ��ݤˤϤ���̤���������ƻ�����ޤդ��ꤱ�ꡣ"); 52$obj->update; 53 54my($rs) = MyDATA->fulltext_search("������ƻ�����ޤդ��ꤱ��"); 55is($rs && $rs->id, 'b'); 56 57if ($rs) { 58 $rs->delete; 59 ($rs) = MyDATA->fulltext_search("������ƻ�����ޤդ��ꤱ��"); 60 ok(!$rs); 61} else { 62 ok(0); 63} 64 65END { 66 eval {MyDATA->senna_index->remove}; 67 eval {unlink("t/test.db")}; 68} 69__DATA__ 70�������ˤξ����������̵��ζ������ꡣհ���м��β֤ο�������ɬ�������魯���������ͤ�פ����餺��ͣ�դ����̴�Τ��Ȥ����������Ԥ��ˤϤۤ�Ӥ̡��Ф��������οФ�Ʊ���� 71�������ʤ��礦�����ˡ����β��ϡʤ����⤦�ˡ��¤μ��ˡʤ��夤�ˡ����Ͻ���ʤ�����ݰ�Ͻ���ˤ������Ĥ������˽��鷺���ڤ��ߤ���ݸ���ʹ������ŷ���������Τ餺��̱����ͫ����ܤߤʤ��Τ�˴�ӤƤ��ޤä��� 72�椬��Ǥ⡢��ʿ��ʿ���硢ŷ�Ĥ�ƣ����ͧ�ʤ��ߤȤ�ˡ����¤θ����ơʤ褷�����ˡ�ʿ����ƣ������ʤΤ֤��ˡ�������ޤ�ʤ�˴�ӤƤ��ޤä��� 73�Ƕ�Ǥϡ�ϻ�������ƻ���������ʿī���������Ȥ����ͤ�ͭ�ͤ�ʹ���ȡ����դˤǤ��ʤ��ۤɤ��� 74�������Ĥϴ���ŷ�Ĥ���ޤιĻҡ����ʼ������븶�ʤ�����Ϥ�˿Ʋ��ζ���λ�¹�ˤ����뻾���������ʤ��̤��Τ��ߤޤ����ˤλ�¹�Ǥ��ꡢ�����������ʤ�������ī�ä����ˤǤ��롣���οƲ��λҡ���벦�ʤ����ߤ����ˤ�̵��̵�̤Ǥ��������λҹ�˾���ʤ�����������ˤΤȤ�����ʿ�������äƾ����ˤʤ�ޤ�������������²��Ϥʤ�ƿͿä�Ϣ�ʤä������λҤ��ü��ܾ�����˾�ʤ褷�������˹��ʤ��ˤ��ˤ�̾�������ˤ��������ޤǤ�ϻ��δ֤ϡ�����μ��ΤǤ��ä���������˾��¤������ʤ��ä��� 75