147 |
Synopsis "Synopsis" \ |
Synopsis "Synopsis" \ |
148 |
] |
] |
149 |
|
|
|
array set gnatsd_commands [list \ |
|
|
Submitter-Id SUBM \ |
|
|
Originator ORIG \ |
|
|
Responsible RESP \ |
|
|
Category CATG \ |
|
|
Class CLSS \ |
|
|
Confidential CONF \ |
|
|
State STAT \ |
|
|
Priority PRIO \ |
|
|
Severity SVTY \ |
|
|
Release RLSE \ |
|
|
Synopsis SYNP \ |
|
|
Multitext MTXT \ |
|
|
Keywords KYWD \ |
|
|
$TkGnats(Quarter) QRTR \ |
|
|
Date-Required.after AFTR \ |
|
|
Date-Required.before BFOR \ |
|
|
Arrival-Date.after ARAF \ |
|
|
Arrival-Date.before ABFR \ |
|
|
Last-Modified.after MAFT \ |
|
|
Last-Modified.before MBFR \ |
|
|
Closed-Date.after CAFT \ |
|
|
Closed-Date.before CBFR \ |
|
|
] |
|
|
|
|
150 |
if {$TkGnats(ReleaseBased)} { |
if {$TkGnats(ReleaseBased)} { |
151 |
set Query(sort_flds) [concat $Query(sort_flds) Keywords $TkGnats(Quarter) Date-Required] |
set Query(sort_flds) [concat $Query(sort_flds) Keywords $TkGnats(Quarter) Date-Required] |
152 |
set Query(sort_flgs) [concat $Query(sort_flgs) "" "" ""] |
set Query(sort_flgs) [concat $Query(sort_flgs) "" "" ""] |
264 |
if {$TkGnats(GNATS_ACCESS_METHOD) == "batch"} { |
if {$TkGnats(GNATS_ACCESS_METHOD) == "batch"} { |
265 |
set Query(query_pr_opts) "$prid_list" |
set Query(query_pr_opts) "$prid_list" |
266 |
} { |
} { |
267 |
set Query(query_pr_opts) "$Query(query_mode) Number=$prid_list" |
set Query(query_pr_opts) "" |
268 |
|
foreach prid $prid_list { |
269 |
|
append Query(query_pr_opts) "Number==$prid_list|" |
270 |
|
} |
271 |
|
append Query(query_pr_opts) " " |
272 |
} |
} |
273 |
set Query(by_id_only) 1 |
set Query(by_id_only) 1 |
274 |
set Query(done_msg) "query from selection for Id $prid_list" |
set Query(done_msg) "query from selection for Id $prid_list" |
851 |
} |
} |
852 |
|
|
853 |
proc build_date_query_qualifier {tag d when} { |
proc build_date_query_qualifier {tag d when} { |
854 |
global TkGnats Query gnatsd_commands |
global TkGnats Query |
855 |
set mode $TkGnats(GNATS_ACCESS_METHOD) |
set mode $TkGnats(GNATS_ACCESS_METHOD) |
856 |
set times(after) "00:00" |
set times(after) "00:00" |
857 |
set times(before) "23:59" |
set times(before) "23:59" |
870 |
append date " $times($when)" |
append date " $times($when)" |
871 |
} |
} |
872 |
if {$mode == "socket"} { |
if {$mode == "socket"} { |
873 |
set str "$gnatsd_commands($tag.$when) $date" |
# XXX GNATS 4 |
874 |
|
#set str "$gnatsd_commands($tag.$when) $date" |
875 |
} { |
} { |
876 |
set str "--$var=$date" |
set str "--$var=$date" |
877 |
} |
} |
879 |
} |
} |
880 |
|
|
881 |
proc build_regex_query_qualifier {subclauseop type tag lst regexp} { |
proc build_regex_query_qualifier {subclauseop type tag lst regexp} { |
882 |
global TkGnats Query gnatsd_commands |
global TkGnats Query |
883 |
|
|
884 |
|
dputs "build_regex_query_qualifier: $subclauseop $type $tag $lst $regexp" |
885 |
|
|
886 |
if {$tag == "Submitter-Id"} { |
if {$tag == "Submitter-Id"} { |
887 |
set tag2 Submitter |
set tag2 Submitter |
888 |
} { |
} { |
905 |
# first clause: put in leading option stuff |
# first clause: put in leading option stuff |
906 |
if {"$subclausestr" == ""} { |
if {"$subclausestr" == ""} { |
907 |
if {$mode == "socket"} { |
if {$mode == "socket"} { |
908 |
set subclausestr "$gnatsd_commands($tag) " |
set subclausestr "" |
909 |
} { |
} { |
910 |
set subclausestr [format "--%s=" [string tolower $tag2]] |
set subclausestr [format "--%s=" [string tolower $tag2]] |
911 |
} |
} |
912 |
} |
} |
913 |
switch -exact -- $type -exact { |
switch -exact -- $type -exact { |
914 |
append subclausestr "$subclauseopstr^$data\$" |
append subclausestr "$subclauseopstr $tag = \"$data\"" |
915 |
} -glob { |
} -glob { |
916 |
append subclausestr "$subclauseopstr$data" |
append subclausestr "$subclauseopstr$data" |
917 |
} |
} |
921 |
# no clauses were written |
# no clauses were written |
922 |
if {"$regexp" != "" } { |
if {"$regexp" != "" } { |
923 |
if {$mode == "socket"} { |
if {$mode == "socket"} { |
924 |
set subclausestr "$gnatsd_commands($tag) $regexp" |
set subclausestr "$tag = $regexp" |
925 |
} { |
} { |
926 |
set subclausestr [format "--%s=" [string tolower $tag2]]$regexp |
set subclausestr [format "--%s=" [string tolower $tag2]]$regexp |
927 |
} |
} |
1127 |
if {$mode != "save"} { |
if {$mode != "save"} { |
1128 |
set Query(default__query) [list proc default__query {flds} {return 1}] |
set Query(default__query) [list proc default__query {flds} {return 1}] |
1129 |
if {$TkGnats(GNATS_ACCESS_METHOD) == "batch"} { |
if {$TkGnats(GNATS_ACCESS_METHOD) == "batch"} { |
1130 |
set Query(query_pr_opts) "$prid_list" |
set Query(query_pr_opts) "" |
1131 |
|
foreach prid $prid_list { |
1132 |
|
append Query(query_pr_opts) "Number==$prid_list|" |
1133 |
|
} |
1134 |
|
append Query(query_pr_opts) " " |
1135 |
} { |
} { |
1136 |
set Query(query_pr_opts) "$Query(query_mode) $prid_list" |
set Query(query_pr_opts) "$Query(query_mode) $prid_list" |
1137 |
} |
} |
1571 |
dputs "Query_pr_opts $Query(query_pr_opts)" |
dputs "Query_pr_opts $Query(query_pr_opts)" |
1572 |
set clist { "RSET" "QFMT sql2" } |
set clist { "RSET" "QFMT sql2" } |
1573 |
|
|
1574 |
# "EXPR $Query(query_pr_opts)" |
foreach condition $Query(query_pr_opts) { |
1575 |
|
lappend clist [concat EXPR $condition] |
1576 |
|
dputs "clist now $clist" |
1577 |
|
} |
1578 |
|
|
1579 |
set doit "" |
set doit "" |
1580 |
|
|
1581 |
foreach cmd $clist { |
foreach cmd $clist { |
1582 |
|
dputs "query sending $cmd" |
1583 |
puts $s $cmd |
puts $s $cmd |
1584 |
set rep [get_socket_reply $s] |
set rep [get_socket_reply $s] |
1585 |
if {![string match 210* [lindex $rep 0]]} { |
if {![string match 210* [lindex $rep 0]]} { |