[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EP-tech] Re: Configuration may be wrong



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 at 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 at 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 at 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/