[sr-dev] pua module db query bug
Daniel-Constantin Mierla
miconda at gmail.com
Sun Oct 12 11:03:34 CEST 2014
On 12/10/14 10:56, Juha Heinanen wrote:
> Daniel-Constantin Mierla writes:
>
>> Based on above, the function update_record_puadb() should return without
>> doing the db update if pres->etag.s is not set. It should end up in an
>> insert if pres->etag.s is not set.
> i'm not sure, since publ_cback_func() does make insert explicitly if
> record is not found. but it does not get that far, because for some
> reason, i see that this test succeeds:
>
> if (pua_dbf.affected_rows != NULL || dbmode != PUA_DB_ONLY)
> {
> INFO("find_and_update_record\n");
> if (find_and_update_record(hentity, hash_code, lexpire, &etag) > 0)
In the function of the above line is done an update with the etag not
set and it shouldn't.
Either here the condition should be on hentity->etag.s being not null as
well or the update_record_puadb() shoudl have its own safety check on
etag (-- or even both for performance/safety).
> goto done;
> }
>
> what query is pua_dbf.affected_rows here referring to?
That is a check to see if that database connector module implements
affected_rows function -- not a check of a result of affected rows.
Daniel
> i have not found
> in the function any db queries before the test.
>
> -- juha
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
More information about the sr-dev
mailing list