Re: [PATCH] dlr_mysql.c - Table name fix
Alexander Malysh <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
hmm, you make it tooo complicated ;)
why not just:
octstr_replace(fields->table, octstr_imm("`"), octstr_imm("``"));
...
instead of calling function/macro with only one line?
Thanks,
Alex
Am 12.10.2009 um 13:45 schrieb Vincent CHAVANIS:
>
> done.
>
> Vincent
>
>
> Alexander Malysh a écrit :
>> Hi again,
>> I don't see reason to use macro because macro contains only one
>> line...
>> Could you please drop macro and use plain function call?
>> Thanks,
>> Alex
>> Am 12.10.2009 um 12:39 schrieb Vincent CHAVANIS:
>>>
>>> Damn! you're right ;-)
>>>
>>> For this issue, i decided to use a macro that
>>> replaces names during the init process
>>>
>>> Comments ?
>>>
>>> Vincent.
>>>
>>>
>>> Alexander Malysh a écrit :
>>>> Hi,
>>>> +1 for this patch but patch is not complete. It doesn't handle
>>>> this case:
>>>> CREATE TABLE `a``b` (`c"d` INT);
>>>> Would you like update your patch? I think as optional callback
>>>> function ?
>>>> Thanks,
>>>> Alex
>>>> Am 09.10.2009 um 16:27 schrieb Vincent CHAVANIS:
>>>>>
>>>>> this is Mysql specs (cf http://dev.mysql.com/doc/refman/5.0/en/identifiers.html)
>>>>> eg. : A reserved word that follows a period in a qualified name
>>>>> must be an identifier, so it need not be quoted.
>>>>>
>>>>> Then, binds have absolutly nothing to do with this patch
>>>>> I'm talking about field/table names specified on the config file.
>>>>> But if binds are not escaped, then we need regular quotes is
>>>>> strings.
>>>>>
>>>>> Actually if you have a table/field names called SELECT or UPDATE
>>>>> or LIMIT or whatever reserved by mysql
>>>>> then the SQL parsing error will occur. (And you have plenty of
>>>>> these, please check the link below)
>>>>> (http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html)
>>>>>
>>>>> Vincent.
>>>>>
> <mysql_table_quotes.patch>