[PATCH] add some flags to apr_dbd_mysql flags parameter

View: New views
9 Messages — Rating Filter:   Alert me  

[PATCH] add some flags to apr_dbd_mysql flags parameter

by Kevac Marko-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello.

What do you think about this patch?
Without one of these flags CALL does not work. But with them, CALL
works as it should.

diff --git a/dbd/apr_dbd_mysql.c b/dbd/apr_dbd_mysql.c
index 77fa5fb..01afed2 100644
--- a/dbd/apr_dbd_mysql.c
+++ b/dbd/apr_dbd_mysql.c
@@ -1156,9 +1156,16 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t
*pool, const char *params,
     if (fields[4].value != NULL) {
         port = atoi(fields[4].value);
     }
-    if (fields[6].value != NULL &&
-        !strcmp(fields[6].value, "CLIENT_FOUND_ROWS")) {
-        flags |= CLIENT_FOUND_ROWS; /* only option we know */
+    if (fields[6].value != NULL) {
+        if (strstr(fields[6].value, "CLIENT_FOUND_ROWS")) {
+            flags |= CLIENT_FOUND_ROWS;
+        }
+        else if (strstr(fields[6].value, "CLIENT_MULTI_STATEMENTS")) {
+            flags |= CLIENT_MULTI_STATEMENTS;
+        }
+        else if (strstr(fields[6].value, "CLIENT_MULTI_RESULTS")) {
+            flags |= CLIENT_MULTI_RESULTS;
+        }
     }
     if (fields[7].value != NULL) {
         sql->fldsz = atol(fields[7].value);

--
Marko Kevac
Sent from Moscow, Mow, Russia

Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Kevac Marko-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I have filled the bug - https://issues.apache.org/bugzilla/show_bug.cgi?id=47931

On Thu, Oct 1, 2009 at 2:10 PM, Kevac Marko <marko@...> wrote:

> Hello.
>
> What do you think about this patch?
> Without one of these flags CALL does not work. But with them, CALL
> works as it should.
>
> diff --git a/dbd/apr_dbd_mysql.c b/dbd/apr_dbd_mysql.c
> index 77fa5fb..01afed2 100644
> --- a/dbd/apr_dbd_mysql.c
> +++ b/dbd/apr_dbd_mysql.c
> @@ -1156,9 +1156,16 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t
> *pool, const char *params,
>     if (fields[4].value != NULL) {
>         port = atoi(fields[4].value);
>     }
> -    if (fields[6].value != NULL &&
> -        !strcmp(fields[6].value, "CLIENT_FOUND_ROWS")) {
> -        flags |= CLIENT_FOUND_ROWS; /* only option we know */
> +    if (fields[6].value != NULL) {
> +        if (strstr(fields[6].value, "CLIENT_FOUND_ROWS")) {
> +            flags |= CLIENT_FOUND_ROWS;
> +        }
> +        else if (strstr(fields[6].value, "CLIENT_MULTI_STATEMENTS")) {
> +            flags |= CLIENT_MULTI_STATEMENTS;
> +        }
> +        else if (strstr(fields[6].value, "CLIENT_MULTI_RESULTS")) {
> +            flags |= CLIENT_MULTI_RESULTS;
> +        }
>     }
>     if (fields[7].value != NULL) {
>         sql->fldsz = atol(fields[7].value);
>
> --
> Marko Kevac
> Sent from Moscow, Mow, Russia
>



--
Marko Kevac
Sent from Moscow, Mow, Russia

Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Kevac Marko-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I would like to head word or two from apr-lib mantainers about this
patch. Thanks.

On Fri, Oct 2, 2009 at 10:47 AM, Kevac Marko <marko@...> wrote:

> I have filled the bug - https://issues.apache.org/bugzilla/show_bug.cgi?id=47931
>
> On Thu, Oct 1, 2009 at 2:10 PM, Kevac Marko <marko@...> wrote:
>> Hello.
>>
>> What do you think about this patch?
>> Without one of these flags CALL does not work. But with them, CALL
>> works as it should.
>>
>> diff --git a/dbd/apr_dbd_mysql.c b/dbd/apr_dbd_mysql.c
>> index 77fa5fb..01afed2 100644
>> --- a/dbd/apr_dbd_mysql.c
>> +++ b/dbd/apr_dbd_mysql.c
>> @@ -1156,9 +1156,16 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t
>> *pool, const char *params,
>>     if (fields[4].value != NULL) {
>>         port = atoi(fields[4].value);
>>     }
>> -    if (fields[6].value != NULL &&
>> -        !strcmp(fields[6].value, "CLIENT_FOUND_ROWS")) {
>> -        flags |= CLIENT_FOUND_ROWS; /* only option we know */
>> +    if (fields[6].value != NULL) {
>> +        if (strstr(fields[6].value, "CLIENT_FOUND_ROWS")) {
>> +            flags |= CLIENT_FOUND_ROWS;
>> +        }
>> +        else if (strstr(fields[6].value, "CLIENT_MULTI_STATEMENTS")) {
>> +            flags |= CLIENT_MULTI_STATEMENTS;
>> +        }
>> +        else if (strstr(fields[6].value, "CLIENT_MULTI_RESULTS")) {
>> +            flags |= CLIENT_MULTI_RESULTS;
>> +        }
>>     }
>>     if (fields[7].value != NULL) {
>>         sql->fldsz = atol(fields[7].value);
>>
>> --
>> Marko Kevac
>> Sent from Moscow, Mow, Russia
>>
>
>
>
> --
> Marko Kevac
> Sent from Moscow, Mow, Russia
>



--
Marko Kevac
Sent from Moscow, Mow, Russia

Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Bojan Smojver :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, 2009-10-09 at 13:21 +0400, Kevac Marko wrote:
> I would like to head word or two from apr-lib mantainers about this
> patch.

I've seen it, but I'm ENOTIME right now. When I get some time, I'll
review it.

--
Bojan


Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Kevac Marko-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thank you. I am ready to comment on everything or fix anything, but i
would not like for patches just to vanish in depths of history.

On Fri, Oct 9, 2009 at 1:25 PM, Bojan Smojver <bojan@...> wrote:

> On Fri, 2009-10-09 at 13:21 +0400, Kevac Marko wrote:
>> I would like to head word or two from apr-lib mantainers about this
>> patch.
>
> I've seen it, but I'm ENOTIME right now. When I get some time, I'll
> review it.
>
> --
> Bojan
>
>



--
Marko Kevac
Sent from Moscow, Mow, Russia

Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Bojan Smojver :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, 2009-10-09 at 13:39 +0400, Kevac Marko wrote:
> Thank you. I am ready to comment on everything or fix anything, but i
> would not like for patches just to vanish in depths of history.

Got it. No worries. Also, I see you filed bugs, so this will definitely
haunt us :-)

--
Bojan


Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Bojan Smojver :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, 2009-10-01 at 14:10 +0400, Kevac Marko wrote:

> +    if (fields[6].value != NULL) {
> +        if (strstr(fields[6].value, "CLIENT_FOUND_ROWS")) {
> +            flags |= CLIENT_FOUND_ROWS;
> +        }
> +        else if (strstr(fields[6].value, "CLIENT_MULTI_STATEMENTS"))
> {
> +            flags |= CLIENT_MULTI_STATEMENTS;
> +        }
> +        else if (strstr(fields[6].value, "CLIENT_MULTI_RESULTS")) {
> +            flags |= CLIENT_MULTI_RESULTS;
> +        }

Question here (I didn't look at the manual to check): are all these
flags mutually exclusive? If they are not, we should have 3 ifs instead
of if/else if, right?

--
Bojan


Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Kevac Marko-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

You are right - we should. They are not exclusive.

Fixed patch:

diff --git a/dbd/apr_dbd_mysql.c b/dbd/apr_dbd_mysql.c
index 77fa5fb..3c0d911 100644
--- a/dbd/apr_dbd_mysql.c
+++ b/dbd/apr_dbd_mysql.c
@@ -1156,9 +1156,16 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t
*pool, const char *params,
     if (fields[4].value != NULL) {
         port = atoi(fields[4].value);
     }
-    if (fields[6].value != NULL &&
-        !strcmp(fields[6].value, "CLIENT_FOUND_ROWS")) {
-        flags |= CLIENT_FOUND_ROWS; /* only option we know */
+    if (fields[6].value != NULL) {
+        if (strstr(fields[6].value, "CLIENT_FOUND_ROWS")) {
+            flags |= CLIENT_FOUND_ROWS;
+        }
+        if (strstr(fields[6].value, "CLIENT_MULTI_STATEMENTS")) {
+            flags |= CLIENT_MULTI_STATEMENTS;
+        }
+        if (strstr(fields[6].value, "CLIENT_MULTI_RESULTS")) {
+            flags |= CLIENT_MULTI_RESULTS;
+        }
     }
     if (fields[7].value != NULL) {
         sql->fldsz = atol(fields[7].value);

On Sat, Oct 10, 2009 at 7:21 AM, Bojan Smojver <bojan@...> wrote:
> Question here (I didn't look at the manual to check): are all these
> flags mutually exclusive? If they are not, we should have 3 ifs instead
> of if/else if, right?
>
> --
> Bojan
>
>



--
Marko Kevac

Re: [PATCH] add some flags to apr_dbd_mysql flags parameter

by Kevac Marko-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Any more thouhts? Thanks.

On Sat, Oct 10, 2009 at 9:37 AM, Kevac Marko <marko@...> wrote:

> You are right - we should. They are not exclusive.
>
> Fixed patch:
>
> diff --git a/dbd/apr_dbd_mysql.c b/dbd/apr_dbd_mysql.c
> index 77fa5fb..3c0d911 100644
> --- a/dbd/apr_dbd_mysql.c
> +++ b/dbd/apr_dbd_mysql.c
> @@ -1156,9 +1156,16 @@ static apr_dbd_t *dbd_mysql_open(apr_pool_t
> *pool, const char *params,
>     if (fields[4].value != NULL) {
>         port = atoi(fields[4].value);
>     }
> -    if (fields[6].value != NULL &&
> -        !strcmp(fields[6].value, "CLIENT_FOUND_ROWS")) {
> -        flags |= CLIENT_FOUND_ROWS; /* only option we know */
> +    if (fields[6].value != NULL) {
> +        if (strstr(fields[6].value, "CLIENT_FOUND_ROWS")) {
> +            flags |= CLIENT_FOUND_ROWS;
> +        }
> +        if (strstr(fields[6].value, "CLIENT_MULTI_STATEMENTS")) {
> +            flags |= CLIENT_MULTI_STATEMENTS;
> +        }
> +        if (strstr(fields[6].value, "CLIENT_MULTI_RESULTS")) {
> +            flags |= CLIENT_MULTI_RESULTS;
> +        }
>     }
>     if (fields[7].value != NULL) {
>         sql->fldsz = atol(fields[7].value);
>
> On Sat, Oct 10, 2009 at 7:21 AM, Bojan Smojver <bojan@...> wrote:
>> Question here (I didn't look at the manual to check): are all these
>> flags mutually exclusive? If they are not, we should have 3 ifs instead
>> of if/else if, right?
>>
>> --
>> Bojan
>>
>>
>
>
>
> --
> Marko Kevac
>



--
Marko Kevac
Sent from Moscow, Mow, Russia