Index: openacs-4/packages/openfts-driver/tcl/openfts-driver-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/openfts-driver/tcl/openfts-driver-procs.tcl,v diff -u -N -r1.4 -r1.4.2.1 --- openacs-4/packages/openfts-driver/tcl/openfts-driver-procs.tcl 13 Sep 2002 11:10:34 -0000 1.4 +++ openacs-4/packages/openfts-driver/tcl/openfts-driver-procs.tcl 10 Oct 2002 16:52:29 -0000 1.4.2.1 @@ -28,12 +28,8 @@ set opt(rejected) [list] - if { ![info exists opt(txttid)] || [string equal $opt(txttid) ""] } { - set opt(txttid) $self(TXTTID) - } + foreach {out condition order} [Search::OpenFTS::get_sql self $query opt] break - foreach {out tables condition order} [Search::OpenFTS::get_sql self $query opt] break - if { ![string length $condition] } { return [array get result] } @@ -42,17 +38,12 @@ } else { set order "" } - if { ![info exists tables] } { - set tables "" - } if { [info exists out] && [string length $out] > 0 } { set out ",\n $out" } else { set out "" } - set txttbl [split $opt(txttid) .] - set date_range_condition "" if { $df != "" } { append date_range_condition "'$df' <= last_modified and" @@ -64,20 +55,20 @@ set permission_check_enabled_p [ad_parameter -package_id [apm_package_id_from_key openfts-driver] permission_check_enabled_p] set permission_check_condition "" if { $permission_check_enabled_p } { - append permission_check_condition "and acs_permission__permission_p( $opt(txttid), $user_id, 'read') = 't'" + append permission_check_condition "and acs_permission__permission_p( $self(TXTID), $user_id, 'read') = 't'" } set sql_count " select count(*) - from [lindex $txttbl 0]$tables + from $self(TABLE) where $date_range_condition $condition $permission_check_condition" set sql_sort " - select $opt(txttid) as object_id$out - from [lindex $txttbl 0]$tables + select $self(TXTID) as object_id$out + from $self(TABLE) where $date_range_condition $condition Index: openacs-4/packages/openfts-driver/www/admin/destroy.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/openfts-driver/www/admin/destroy.tcl,v diff -u -N -r1.3 -r1.3.2.1 --- openacs-4/packages/openfts-driver/www/admin/destroy.tcl 5 Sep 2002 11:21:38 -0000 1.3 +++ openacs-4/packages/openfts-driver/www/admin/destroy.tcl 10 Oct 2002 16:52:30 -0000 1.3.2.1 @@ -1,37 +1,17 @@ -catch { - set ngroups [db_exec_plsql get_ngroups "select mod from fts_conf where did = -2"] - set table_name [lindex [split [db_exec_plsql get_txttid "select mod from fts_conf where did = -1"] .] 0] -} + +set PREFIX "" +array set idx [Search::OpenFTS::Index::new $PREFIX] +Search::OpenFTS::Index::drop idx catch { - db_dml drop_fts_conf "drop table fts_conf;" + db_dml drop_table "drop table $idx(TABLE)" } - - catch { - db_dml drop_trigger "drop trigger ${table_name}_utrg;" + db_dml drop_function "drop function $idx(TABLE)_utrg ()" } - catch { - db_dml drop_function "drop function ${table_name}_utrg ();" -} - -catch { - db_dml drop_table "drop table ${table_name};" -} - -catch { - for { set __i 1 } { $__i <= $ngroups } { incr __i } { - db_dml drop_index "drop table index${__i};" - } -} - -catch { db_dml drop_fts_unknown_lexem "drop table fts_unknown_lexem;" } -catch { - db_dml drop_s_fts_unknown_lexem "drop sequence s_fts_unknown_lexem;" -} -ad_returnredirect "./" \ No newline at end of file +ad_returnredirect "./" Index: openacs-4/packages/openfts-driver/www/admin/initialize-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/openfts-driver/www/admin/initialize-2.tcl,v diff -u -N -r1.3 -r1.3.2.1 --- openacs-4/packages/openfts-driver/www/admin/initialize-2.tcl 5 Sep 2002 11:21:38 -0000 1.3 +++ openacs-4/packages/openfts-driver/www/admin/initialize-2.tcl 10 Oct 2002 16:52:30 -0000 1.3.2.1 @@ -8,41 +8,44 @@ table_name table_id dict - parser numbergroup ignore_headline ignore_id_index map use_index_table - use_index_array } -array set opt " -txttid ${table_name}.${table_id} -numbergroup $numbergroup -parser $parser -use_index_array $use_index_array -use_index_table $use_index_table -dict [list $dict] -map [list $map] -ignore_id_index [list $ignore_id_index] -ignore_headline [list $ignore_headline] -" +set DICT_UNKNOWN_LEXEM_TABLE "fts_unknown_lexem" +if [catch { + db_dml create_table "create table $table_name ( ${table_id} int not null primary key, path varchar unique, fts_index txtidx, last_modified timestamp );" +} err] { + error "$err" + return +} +set dat " + txttid ${table_name}.${table_id} + use_index_table $use_index_table + txtidx_field fts_index + numbergroup $numbergroup + ignore_id_index [list $ignore_id_index] + ignore_headline [list $ignore_headline] + map [list $map] + dict [list $dict]" +ns_log Notice "dat = $dat" +array set opt $dat + + + array set idx [Search::OpenFTS::Index::init opt] if {[array size idx] == 0} { error "QQQ: Init failed" - exit + return } -db_dml create_table "create table $table_name ( \ - $table_id int not null primary key, \ - $use_index_array int\[\], \ - last_modified timestamp default now() not null);" - db_dml create_function "create function ${table_name}_utrg () returns opaque as ' \ begin \ new.last_modified := now(); \ @@ -53,7 +56,7 @@ for each row execute procedure ${table_name}_utrg ();" - Search::OpenFTS::Index::create_index idx +Search::OpenFTS::DESTROY ad_returnredirect "./" Index: openacs-4/packages/openfts-driver/www/admin/initialize.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/openfts-driver/www/admin/initialize.tcl,v diff -u -N -r1.2 -r1.2.2.1 --- openacs-4/packages/openfts-driver/www/admin/initialize.tcl 5 Sep 2002 11:21:38 -0000 1.2 +++ openacs-4/packages/openfts-driver/www/admin/initialize.tcl 10 Oct 2002 16:52:30 -0000 1.2.2.1 @@ -24,17 +24,12 @@ template::element create openfts_init_form dict \ -html "size 40" \ -label "Dictionaries" \ - -value "Search::OpenFTS::Dict::PorterEng Search::OpenFTS::Dict::UnknownDict" + -value "Search::OpenFTS::Dict::PorterEng {mod Search::OpenFTS::Dict::UnknownDict param {table fts_unknown_lexem}}" -template::element create openfts_init_form parser \ - -html "size 40" \ - -label "Parser" \ - -value Search::OpenFTS::Parser - template::element create openfts_init_form numbergroup \ -html "size 40" \ -label "Number of index tables" \ - -value 13 + -value 10 template::element create openfts_init_form ignore_headline \ -html "size 40" \ @@ -56,9 +51,9 @@ -label "use_index_table" \ -value 1 -template::element create openfts_init_form use_index_array \ +template::element create openfts_init_form txtidx_field \ -html "size 40" \ - -label "use_index_array" \ + -label "txtidx_field" \ -value fts_index template::element create openfts_init_form submit \ Index: openacs-4/packages/search/sql/postgresql/search-packages-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/search/sql/postgresql/search-packages-create.sql,v diff -u -N -r1.2 -r1.2.2.1 --- openacs-4/packages/search/sql/postgresql/search-packages-create.sql 2 Jul 2002 01:52:39 -0000 1.2 +++ openacs-4/packages/search/sql/postgresql/search-packages-create.sql 10 Oct 2002 16:52:13 -0000 1.2.2.1 @@ -24,15 +24,15 @@ create function search_observer__dequeue(integer,timestamp,varchar) returns integer as ' declare - p_object_id alias for $1; - p_event_date alias for $2; - p_event alias for $3; + p_object_id alias for $1; + p_event_date alias for $2; + p_event alias for $3; begin delete from search_observer_queue where object_id = p_object_id and event = p_event - and event_date = p_event_date; + and to_char(event_date,''yyyy-mm-dd hh24:mi:ss.us-tz'') = to_char(p_event_date,''yyyy-mm-dd hh24:mi:ss.us-tz''); return 0;