[EP-tech] Re: Possible bug in title_duplicates script?
George Mamalakis
mamalos at eng.auth.gr
Wed Sep 30 09:07:54 BST 2015
Ah,
And of course the obvious solution would be to change the location of
the first AND statement, so a patch similar to this:
$sql .= " $Q_eprint_status=" . $db->quote_value( "archive" ) . "
AND ";
--- ./cgi/users/lookup/title_duplicates 2015-04-17 19:07:54.000000000
+0300
+++ /tmp/title_duplicates 2015-09-30 10:45:40.510270944 +0300
@@ -71,9 +71,9 @@
" FROM $Q_table" .
" WHERE ";
if ($dataset_name eq "eprint") {
- $sql .= " $Q_eprint_status=" . $db->quote_value( "archive" );
+ $sql .= " $Q_eprint_status=" . $db->quote_value( "archive" ) . "
AND ";
}
-$sql .= " AND $Q_id!=$id" .
+$sql .= "$Q_id!=$id" .
" AND $Q_field_name IS NOT NULL" .
" AND $Q_field_name " .
$db->sql_LIKE() .
Before opening a bug report in EPrints' github, please someone do
confirm that what I'm suggesting is not breaking things instead of
fixing them.
Cheers,
George.
On 29/09/2015 04:23 μμ, George Mamalakis wrote:
> Hello everyone,
>
> I'm trying to see if the autocompletion feature works OK with my
> multilang fields (like title), and by inspecting script's code, I saw
> this in lines 70-80:
>
> my $sql = "SELECT $Q_id" .
> " FROM $Q_table" .
> " WHERE ";
> if ($dataset_name eq "eprint") {
> $sql .= " $Q_eprint_status=" . $db->quote_value( "archive" );
> }
> $sql .= " AND $Q_id!=$id" .
> " AND $Q_field_name IS NOT NULL" .
> " AND $Q_field_name " .
> $db->sql_LIKE() .
> $db->quote_value( EPrints::Database::prep_like_value( $q ) . '%' );
>
>
> As we can see, and if I'm not terribly mistaken, if $dataset_name
> *neq* "eprint", then the SQL WHERE statement is immediately followed
> by an AND statement, which would cause SQL to fail.
>
> Am I missing something here or is it really a potential bug on non
> records not belonging to the "eprint" dataset (not sure how it would
> be triggered though)?
>
> --
> George Mamalakis
>
> IT and Security Officer,
> Electrical and Computer Engineer (Aristotle Univ. of Thessaloniki),
> PhD (Aristotle Univ. of Thessaloniki),
> MSc (Imperial College of London)
>
> School of Electrical and Computer Engineering
> Aristotle University of Thessaloniki
>
> phone number : +30 (2310) 994379
>
>
>
>
> *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** Archive: http://www.eprints.org/tech.php/
> *** EPrints community wiki: http://wiki.eprints.org/
> *** EPrints developers Forum: http://forum.eprints.org/
--
George Mamalakis
IT and Security Officer,
Electrical and Computer Engineer (Aristotle Univ. of Thessaloniki),
PhD (Aristotle Univ. of Thessaloniki),
MSc (Imperial College of London)
School of Electrical and Computer Engineering
Aristotle University of Thessaloniki
phone number : +30 (2310) 994379
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20150930/84b45fec/attachment.html
More information about the Eprints-tech
mailing list