On Fri, Sep 04, 2009 at 02:26:57PM +0200, Alexander Malysh wrote:
> they are all correct if you speak about limit and rownum. we are unable 
> to pass limit or rownum clause to sdb engine because it's abstraction
> of DBs and we don't know which DB is used.

I get he's talking about:

>> WHERE %S=:1 AND %S=:2 AND %S=:3 AND ROWNUM < 2",
                              ^^^^ this extra condition

  Damián Viano(Des).

> Am 04.09.2009 um 14:11 schrieb Alejandro Guerrieri:
>
>> BTW, while I'm adding the meta_data field on all DB engines, and I've 
>> noticed a difference on dlr_oracle.c, on dlr_get_oracle:
>>
>>     sql = octstr_format("SELECT %S, %S, %S, %S, %S, %S, %S FROM %S  
>> WHERE %S=:1 AND %S=:2 AND %S=:3 AND ROWNUM < 2",
>>                         fields->field_mask, fields->field_serv,
>>                         fields->field_url, fields->field_src,
>>                         fields->field_dst, fields->field_boxc,
>>                         fields->table, fields->field_smsc,
>>                         fields->field_ts, fields->field_dst);
>>
>> While on all other engines, field_dst is not used on the condition:
>>
>> pgsql:
>>      sql = octstr_format("SELECT %s, %s, %s, %s, %s, %s FROM %s WHERE  
>> %s='%s' AND %s='%s' LIMIT 1;",
>>
>> sdb:
>>      sql = octstr_format("SELECT %s, %s, %s, %s, %s, %s FROM %s WHERE  
>> %s='%s' AND %s='%s' %s", [NO LIMIT CLAUSE]
>>
>> mysql:
>>      sql = octstr_format("SELECT %S, %S, %S, %S, %S, %S FROM %S WHERE %S=? 
>> AND %S=? LIMIT 1",
>>
>> and so on.
>>
>> Any reason why this is done that way? Which one should be fixed?
>>
>> Regards,
>> --
>> Alejandro Guerrieri
>> aguerri...@kannel.org

Reply via email to