EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #00917


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: Configuration may be wrong


Hi Seb,

Thanks, that has fixed it! I will keep an eye on this and report back
any errors that occur given the change.

This modification could possibly break repositories using MySQL,
however, which does treat '' and NULL as different.

Best wishes,
Rob

Sebastien Francois <sf2@ecs.soton.ac.uk> writes:

> Hi Rob,
>
> Have a look into : perl_lib/EPrints/Search/Condition/IsNotNull.pm, and 
> search for:
>
>                 push @sql_and,
>                          $db->quote_identifier( $table, $col_name )." != 
> ''";
>
> Perhaps you can try to replace " != ''" with " IS NOT NULL " there (then 
> restart Apache & test again)?
>
> I don't know if this could break other things in the system though.
>
> Seb.
>
> On 30/07/12 10:48, Robert Berry wrote:
>> Hi Seb,
>>
>> The problem is with the Oracle layer.
>>
>> Immediately preceding the error message is the following SQL:
>>
>> Database execute debug: SELECT DISTINCT D0,D1 FROM (SELECT "DISTINCTBY_188303376"."DIVISIONS" D0,"DISTINCTBY_188303376"."EPRINTID" D1 FROM "EPRINT", "EPRINT_DIVISIONS" "DISTINCTBY_188303376", "EPRINT_DIVISIONS" "EPRINT_DIVISIONS" WHERE "EPRINT"."EPRINTID"="DISTINCTBY_188303376"."EPRINTID" AND "EPRINT"."EPRINTID"="EPRINT_DIVISIONS"."EPRINTID" AND "EPRINT"."METADATA_VISIBILITY" = 'show' AND "EPRINT"."EPRINT_STATUS" = 'archive' AND ( "EPRINT_DIVISIONS"."DIVISIONS" != '')) D
>> Warning! No values were found for eprint.view.divisions [divisions] - configuration may be wrong
>>
>> This SQL will *never* return results. This is because Oracle treats the
>> empty string '' as equivalent to NULL, so the statement
>> "EPRINT_DIVISIONS.DIVISIONS != ''" breaks it. If you try running either
>> of the following statements against the database,
>>
>> SELECT * FROM EPRINT_DIVISIONS WHERE divisions = NULL;
>> SELECT * FROM EPRINT_DIVISIONS WHERE divisions = '';
>>
>> or
>>
>> SELECT * FROM EPRINT_DIVISIONS WHERE divisions != NULL;
>> SELECT * FROM EPRINT_DIVISIONS WHERE divisions != '';
>>
>> An empty result set will be returned. This is very bizarre, I know, but
>> the layer needs to use 'IS NULL' or 'IS NOT NULL' in those scenarios.
>>
>> To whom do I need to speak about fixing this?
>>
>> Best wishes,
>> Rob
>>
>>
>> Robert Berry<robert.berry@liverpool.ac.uk>  writes:
>>
>>> Hi Seb,
>>>
>>> Sorry, never mind that last e-mail. The data isn't wrong - everything
>>> looks right. Still unsure why the script won't generate the divisions
>>> view, however, as I definitely have prints with those divisions set. I
>>> will do some more digging - thanks for your advice.
>>>
>>> Best wishes, Rob
>>>
>>> Robert Berry<robert.berry@liverpool.ac.uk>  writes:
>>>
>>>> Hi Seb,
>>>>
>>>> I tried reindexing and it gave no errors. It's still not working, though.
>>>>
>>>> I looked at the SQL that was being used in the generate_views script,
>>>> and it is using SUBJECT__ORDER_VALUES_EN as part of its look up for the
>>>> subjects / divisions. The data in here is wrong though - it relates to
>>>> the old set of subjects. Is there a way to repopulate this table? Do you
>>>> know why it might not have been populated?
>>>>
>>>> Best wishes,
>>>> Rob
>>>>
>>>> Sebastien Francois<sf2@ecs.soton.ac.uk>  writes:
>>>>
>>>>> Hi Rob,
>>>>>
>>>>> I think this means you've asked EPrints to generate a 'view' on
>>>>> 'subjects', however no EPrint objects / publications have got a subject
>>>>> set. In other words, your 'view' will be empty.
>>>>>
>>>>> I can't comment much about the Oracle error except that when you
>>>>> imported your subjects file, EPrints must have requested to re-index the
>>>>> "subjects" dataset and this is probably what this error relates to (but
>>>>> I cannot tell you any implications this will have...). You may try to:
>>>>>
>>>>> /opt/eprints3/bin/epadmin reindex<archive_id>  subject
>>>>>
>>>>> and see what happens.
>>>>>
>>>>> Seb.
>>>>>
>>>>> On 27/07/12 16:57, Robert Berry wrote:
>>>>>> Hello,
>>>>>>
>>>>>> What does it mean when I run the bin/generate_views script, and it gives
>>>>>> an error like --
>>>>>>
>>>>>> Wrote: /eprints/eprints3/archives/liverpool/html/en/view/year
>>>>>> Warning! No values were found for eprint.view.subjects [subjects] -
>>>>>> configuration may be wrong
>>>>>>
>>>>>> What configuration? Where?
>>>>>>
>>>>>> I've imported a new subjects file. It gave a bunch of Oracle errors-
>>>>>>
>>>>>> ORA-01722: invalid number (DBD ERROR: error possibly near<*>   indicator
>>>>>> at char 52 in 'INSERT INTO "EVENT_QUEUE" ("EVENTQUEUEID") VALUES
>>>>>> (:<*>p1)') at /eprints/eprints3/bin/../perl_lib/EPrints/DataObj.pm line
>>>>>> 294
>>>>>>
>>>>>> -so I guess it could be related to that. The subjects are in the
>>>>>>    database, table, however, and look correct.
>>>>>>
>>>>>> Best wishes, Rob
>>>>>> *** 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/
>>>>> *** 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/
>>>> *** 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/
>>> *** 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/
>> *** 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/
>
> *** 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/