Hi,

On Tue, Apr 7, 2015 at 1:46 PM, Andreas Tille <[email protected]> wrote:

>
>  ./only-run.sh blends-prospective
> Traceback (most recent call last):
>   File "/srv/udd.debian.org/udd//udd.py", line 86, in <module>
>     exec "gatherer.%s()" % command
>   File "<string>", line 1, in <module>
>   File "/srv/udd.debian.org/udd/udd/blends_prospective_gatherer.py", line
> 422, in run
>     cur.execute(query)
> psycopg2.ProgrammingError: FEHLER:  Syntaxfehler bei „REPLACE“
> LINE 1: ...RE bibref_insert (text, text, text, text, int) AS REPLACE IN...
>                                                              ^
>

The REPLACE function works only in MySQL. In postgresql, there is not
in-built function to update or insert. I am sending a patch which defines
modifies 'udd/blends_prospective_gatherer.py'. I have written a function
"Upsert" which returns a string - "UPDATE ..... SET .... WHERE...." or
"INSERT INTO .... VALUES ...". This string is then appended to a "PREPARE
..... AS ...." query, and the final query is executed.

I am sending a 'rows' parameter to Upsert() which basically is the count of
rows in bibref table where the primary keys (source, key, package, rank)
are checked and LIMIT 1. So,
if rows == 0:
    "insert"
else:
    "update"
There are no packages which get updated, because there seem to be no
records with duplicate primary keys. PFA  the output for the above (insert
/ update) code snippet. Can you please review the patch ?

Regards,
Akshita
INSERT:  0 {'source': 'mauve', 'value': '10.1101/gr.2289704', 'key': 'doi', 
'rank': 0, 'package': ''}

INSERT:  0 {'source': 'mauve', 'value': 'Aaron C. E. Darling and Bob Mau and 
Frederick R. Blattner and Nicole T. Perna', 'key': 'title', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauve', 'value': 
'http://genome.cshlp.org/content/14/7/1394.short', 'key': 'url', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauve', 'value': 'Genome research', 'key': 'journal', 
'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauve', 'value': 'Mauve: multiple alignment of conserved 
genomic sequence with rearrangements', 'key': 'author', 'rank': 0, 'package': 
''}


INSERT:  0 {'source': 'mauve', 'value': '7', 'key': 'number', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauve', 'value': '14', 'key': 'volume', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauve', 'value': 
'http://genome.cshlp.org/content/14/7/1394.full.pdf+html', 'key': 'eprint', 
'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauve', 'value': '2004', 'key': 'year', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauve', 'value': '15231754', 'key': 'pmid', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauve', 'value': '1394-1403', 'key': 'pages', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauve', 'value': 'mauve', 'key': 'bibtex', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': '10.1371/journal.pone.0012651', 
'key': 'doi', 'rank': 0, 'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': 'Murasaki: A Fast, Parallelizable 
Algorithm to Find Anchors from Multiple Genomes', 'key': 'title', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': 
'http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0012651', 
'key': 'url', 'rank': 0, 'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': 'PLOS one', 'key': 'journal', 
'rank': 0, 'package': ''}

INSERT:  0 {'source': 'murasaki', 'value': 'Kris Popendorf and Hachiya Tsuyoshi 
and Yasunori Osana and Yasubumi Sakakibara', 'key': 'author', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': '9', 'key': 'number', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': '5', 'key': 'volume', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': 
'http://www.plosone.org/article/fetchObject.action?uri=info:doi/10.1371/journal.pone.0012651&representation=PDF',
 'key': 'eprint', 'rank': 0, 'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': '2010', 'key': 'year', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': '20885980', 'key': 'pmid', 'rank': 
0, 'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': 'e12651', 'key': 'pages', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'murasaki', 'value': 'murasaki', 'key': 'bibtex', 'rank': 
0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': '10.1371/journal.pone.0011147', 
'key': 'doi', 'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': 'progressiveMauve: multiple 
genome alignment with gene gain, loss and rearrangement', 'key': 'title', 
'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': 
'http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0011147', 
'key': 'url', 'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': 'PloS one', 'key': 'journal', 
'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': 'Aaron E. Darling and Bob Mau 
and Nicole T. Perna', 'key': 'author', 'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': '6', 'key': 'number', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': '5', 'key': 'volume', 'rank': 0, 
'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': 
'http://www.plosone.org/article/fetchObject.action?uri=info:doi/10.1371/journal.pone.0011147&representation=PDF',
 'key': 'eprint', 'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': '2010', 'key': 'year', 'rank': 
0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': '20593022', 'key': 'pmid', 
'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': 'e11147', 'key': 'pages', 
'rank': 0, 'package': ''}


INSERT:  0 {'source': 'mauvealigner', 'value': 'mauvealigner', 'key': 'bibtex', 
'rank': 0, 'package': ''}

Reply via email to