public inbox for [email protected]
help / color / mirror / Atom feedpgagent unicode support
13+ messages / 4 participants
[nested] [flat]
* pgagent unicode support
@ 2021-02-06 04:59 Sergey Burladyan <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Sergey Burladyan @ 2021-02-06 04:59 UTC (permalink / raw)
To: pgadmin-hackers
Currently pgagent doesn't handle unicode correctly.
CharToWString function corrupt multibyte characters because it processes
string one byte at a time:
148 std::string s = std::string(cstr);
149 std::wstring wsTmp(s.begin(), s.end());
WStringToChar function does not take into account that there can be
_multi_byte character on wcstombs output and create buffer with
size = wcslen:
157 int wstr_length = wcslen(wchar_str);
158 char *dst = new char[wstr_length + 10];
Also pgagent do not setup locale with setlocale(), without it all
wcs/mbs functions cannot handle multibyte strings.
For example:
=== step code ===
select 'это проверка кириллицы в теле запроса pgagent'
=================
=== postgres log ===
2021-02-05 23:19:05 UTC [15600-1] postgres@postgres ERROR: unterminated quoted string at or near "'" at character 8
2021-02-05 23:19:05 UTC [15600-2] postgres@postgres STATEMENT: select '
====================
Please see attached patch.
I only test it on GNU/Linux and can't test it on Windows, sorry.
--
Sergey Burladyan
Attachments:
[text/x-patch] Fix-multibyte-strings-handling.patch (1.9K, 2-Fix-multibyte-strings-handling.patch)
download | inline diff:
commit b9cf098a4d0df53b7b623a0de844fce834bf7be1 (HEAD -> x5)
Author: Sergey Burladyan <[email protected]>
Date: Sat Feb 6 06:16:59 2021
Fix multibyte strings handling
diff --git a/misc.cpp b/misc.cpp
index 35ac83d..17103c7 100644
--- a/misc.cpp
+++ b/misc.cpp
@@ -145,20 +145,49 @@ std::wstring NumToStr(const long l)
// This function is used to convert char* to std::wstring.
std::wstring CharToWString(const char* cstr)
{
- std::string s = std::string(cstr);
- std::wstring wsTmp(s.begin(), s.end());
- return wsTmp;
+ size_t wc_cnt = mbstowcs(NULL, cstr, 0);
+
+ if (wc_cnt == (size_t) -1) {
+ return std::wstring();
+ }
+
+ wchar_t *wcs = new wchar_t[wc_cnt + 1];
+ if (wcs == NULL) {
+ return std::wstring();
+ }
+
+ if (mbstowcs(wcs, cstr, wc_cnt + 1) == (size_t) -1) {
+ return std::wstring();
+ }
+
+ std::wstring tmp(&wcs[0], &wcs[wc_cnt]);
+ delete [] wcs;
+
+ return tmp;
}
// This function is used to convert std::wstring to char *.
char * WStringToChar(const std::wstring &wstr)
{
+ static char *err = (char*)"";
const wchar_t *wchar_str = wstr.c_str();
- int wstr_length = wcslen(wchar_str);
- char *dst = new char[wstr_length + 10];
- memset(dst, 0x00, (wstr_length + 10));
- wcstombs(dst, wchar_str, wstr_length);
- return dst;
+ int mb_len = wcstombs(NULL, wchar_str, 0);
+
+ if (mb_len == (size_t) -1) {
+ return err;
+ }
+
+ char *mbs = new char[mb_len + 1];
+ if (mbs == NULL) {
+ return err;
+ }
+ memset(mbs, 0, mb_len + 1);
+
+ if (wcstombs(mbs, wchar_str, mb_len + 1) == (size_t) -1) {
+ return err;
+ }
+
+ return mbs;
}
// Below function will generate random string of given character.
diff --git a/unix.cpp b/unix.cpp
index 9a41e38..d4b0d3d 100644
--- a/unix.cpp
+++ b/unix.cpp
@@ -155,6 +155,8 @@ static void daemonize(void)
int main(int argc, char **argv)
{
+ setlocale(LC_ALL, "");
+
std::wstring executable;
executable.assign(CharToWString(argv[0]));
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-08 09:25 Dave Page <[email protected]>
parent: Sergey Burladyan <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Dave Page @ 2021-02-08 09:25 UTC (permalink / raw)
To: Sergey Burladyan <[email protected]>; +Cc: pgadmin-hackers; Neel Patel <[email protected]>; Ashesh Vashi <[email protected]>
Hi
On Sat, Feb 6, 2021 at 5:00 AM Sergey Burladyan <[email protected]> wrote:
> Currently pgagent doesn't handle unicode correctly.
>
> CharToWString function corrupt multibyte characters because it processes
> string one byte at a time:
> 148 std::string s = std::string(cstr);
> 149 std::wstring wsTmp(s.begin(), s.end());
>
> WStringToChar function does not take into account that there can be
> _multi_byte character on wcstombs output and create buffer with
> size = wcslen:
> 157 int wstr_length = wcslen(wchar_str);
> 158 char *dst = new char[wstr_length + 10];
>
> Also pgagent do not setup locale with setlocale(), without it all
> wcs/mbs functions cannot handle multibyte strings.
>
> For example:
>
> === step code ===
> select 'это проверка кириллицы в теле запроса pgagent'
> =================
>
> === postgres log ===
> 2021-02-05 23:19:05 UTC [15600-1] postgres@postgres ERROR: unterminated
> quoted string at or near "'" at character 8
> 2021-02-05 23:19:05 UTC [15600-2] postgres@postgres STATEMENT: select '
> ====================
>
> Please see attached patch.
> I only test it on GNU/Linux and can't test it on Windows, sorry.
>
Thanks for the patch! Neel/Ashesh; can you take a look please? It looks OK
to me, but then I'm not overly familiar with multibyte string handling.
What, if anything, needs to be done on Windows?
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EDB: http://www.enterprisedb.com
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-15 12:45 Neel Patel <[email protected]>
parent: Dave Page <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Neel Patel @ 2021-02-15 12:45 UTC (permalink / raw)
To: Dave Page <[email protected]>; +Cc: Sergey Burladyan <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]>
Thanks Sergey for the patch.
Sure Dave.
There is some compilation warning in linux, I will fix those and test
pgAgent in windows and update the thread.
On Mon, Feb 8, 2021 at 2:55 PM Dave Page <[email protected]> wrote:
> Hi
>
> On Sat, Feb 6, 2021 at 5:00 AM Sergey Burladyan <[email protected]>
> wrote:
>
>> Currently pgagent doesn't handle unicode correctly.
>>
>> CharToWString function corrupt multibyte characters because it processes
>> string one byte at a time:
>> 148 std::string s = std::string(cstr);
>> 149 std::wstring wsTmp(s.begin(), s.end());
>>
>> WStringToChar function does not take into account that there can be
>> _multi_byte character on wcstombs output and create buffer with
>> size = wcslen:
>> 157 int wstr_length = wcslen(wchar_str);
>> 158 char *dst = new char[wstr_length + 10];
>>
>> Also pgagent do not setup locale with setlocale(), without it all
>> wcs/mbs functions cannot handle multibyte strings.
>>
>> For example:
>>
>> === step code ===
>> select 'это проверка кириллицы в теле запроса pgagent'
>> =================
>>
>> === postgres log ===
>> 2021-02-05 23:19:05 UTC [15600-1] postgres@postgres ERROR: unterminated
>> quoted string at or near "'" at character 8
>> 2021-02-05 23:19:05 UTC [15600-2] postgres@postgres STATEMENT: select '
>> ====================
>>
>> Please see attached patch.
>> I only test it on GNU/Linux and can't test it on Windows, sorry.
>>
>
> Thanks for the patch! Neel/Ashesh; can you take a look please? It looks OK
> to me, but then I'm not overly familiar with multibyte string handling.
> What, if anything, needs to be done on Windows?
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EDB: http://www.enterprisedb.com
>
>
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-18 11:42 Neel Patel <[email protected]>
parent: Neel Patel <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Neel Patel @ 2021-02-18 11:42 UTC (permalink / raw)
To: Sergey Burladyan <[email protected]>; +Cc: pgadmin-hackers; Ashesh Vashi <[email protected]>; Dave Page <[email protected]>
Hi Sergey,
Thank you for the patch. It looks good to me except below.
We have modified the patch as we fixed the memory leak ( review comment
given by Ashesh ) and also fixed the compilation warnings.
Can you please review and let us know ?
Thanks,
Neel Patel
On Mon, Feb 15, 2021 at 6:15 PM Neel Patel <[email protected]>
wrote:
> Thanks Sergey for the patch.
>
> Sure Dave.
> There is some compilation warning in linux, I will fix those and test
> pgAgent in windows and update the thread.
>
> On Mon, Feb 8, 2021 at 2:55 PM Dave Page <[email protected]> wrote:
>
>> Hi
>>
>> On Sat, Feb 6, 2021 at 5:00 AM Sergey Burladyan <[email protected]>
>> wrote:
>>
>>> Currently pgagent doesn't handle unicode correctly.
>>>
>>> CharToWString function corrupt multibyte characters because it processes
>>> string one byte at a time:
>>> 148 std::string s = std::string(cstr);
>>> 149 std::wstring wsTmp(s.begin(), s.end());
>>>
>>> WStringToChar function does not take into account that there can be
>>> _multi_byte character on wcstombs output and create buffer with
>>> size = wcslen:
>>> 157 int wstr_length = wcslen(wchar_str);
>>> 158 char *dst = new char[wstr_length + 10];
>>>
>>> Also pgagent do not setup locale with setlocale(), without it all
>>> wcs/mbs functions cannot handle multibyte strings.
>>>
>>> For example:
>>>
>>> === step code ===
>>> select 'это проверка кириллицы в теле запроса pgagent'
>>> =================
>>>
>>> === postgres log ===
>>> 2021-02-05 23:19:05 UTC [15600-1] postgres@postgres ERROR:
>>> unterminated quoted string at or near "'" at character 8
>>> 2021-02-05 23:19:05 UTC [15600-2] postgres@postgres STATEMENT: select '
>>> ====================
>>>
>>> Please see attached patch.
>>> I only test it on GNU/Linux and can't test it on Windows, sorry.
>>>
>>
>> Thanks for the patch! Neel/Ashesh; can you take a look please? It looks
>> OK to me, but then I'm not overly familiar with multibyte string handling.
>> What, if anything, needs to be done on Windows?
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EDB: http://www.enterprisedb.com
>>
>>
Attachments:
[application/octet-stream] pgagent_unicode.patch (2.2K, 3-pgagent_unicode.patch)
download | inline diff:
diff --git a/misc.cpp b/misc.cpp
index 35ac83d..b046f47 100644
--- a/misc.cpp
+++ b/misc.cpp
@@ -143,22 +143,63 @@ std::wstring NumToStr(const long l)
}
// This function is used to convert char* to std::wstring.
-std::wstring CharToWString(const char* cstr)
+std::wstring CharToWString(const char *cstr)
{
- std::string s = std::string(cstr);
- std::wstring wsTmp(s.begin(), s.end());
- return wsTmp;
+ if (cstr != NULL)
+ {
+ size_t wc_cnt = mbstowcs(NULL, cstr, 0);
+
+ if (wc_cnt == (size_t) -1) {
+ return std::wstring();
+ }
+
+ wchar_t *wcs = new wchar_t[wc_cnt + 1];
+ if (wcs == NULL) {
+ return std::wstring();
+ }
+
+ if (mbstowcs(wcs, cstr, wc_cnt + 1) == (size_t) -1) {
+ delete [] wcs;
+ return std::wstring();
+ }
+
+ std::wstring tmp(&wcs[0], &wcs[wc_cnt]);
+ delete [] wcs;
+
+ return tmp;
+ }
+ return std::wstring();
}
// This function is used to convert std::wstring to char *.
-char * WStringToChar(const std::wstring &wstr)
+char *WStringToChar(const std::wstring &wstr)
{
- const wchar_t *wchar_str = wstr.c_str();
- int wstr_length = wcslen(wchar_str);
- char *dst = new char[wstr_length + 10];
- memset(dst, 0x00, (wstr_length + 10));
- wcstombs(dst, wchar_str, wstr_length);
- return dst;
+ const wchar_t *wchar_str = wstr.c_str();
+
+ int mb_len = wcstombs(NULL, wchar_str, 0);
+
+ if ((size_t)mb_len == (size_t) -1) {
+ return NULL;
+ }
+
+ char *mbs = new char[mb_len + 1];
+ if (mbs == NULL) {
+ return NULL;
+ }
+
+ memset(mbs, 0, mb_len + 1);
+
+#ifdef __WIN32__
+ size_t charsConverted = 0;
+ wcstombs_s(&charsConverted, mbs, mb_len + 10, wchar_str, mb_len + 1);
+#else
+ if (wcstombs(mbs, wchar_str, mb_len + 1) == (size_t) -1) {
+ delete [] mbs;
+ return NULL;
+ }
+
+#endif
+ return mbs;
}
// Below function will generate random string of given character.
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-23 12:53 Neel Patel <[email protected]>
parent: Neel Patel <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Neel Patel @ 2021-02-23 12:53 UTC (permalink / raw)
To: Sergey Burladyan <[email protected]>; +Cc: pgadmin-hackers; Ashesh Vashi <[email protected]>; Dave Page <[email protected]>
Hi Sergey,
Do you have any comments for this updated patch ? Let us know ASAP so that
we can commit it.
Thanks,
Neel Patel
On Thu, Feb 18, 2021 at 5:12 PM Neel Patel <[email protected]>
wrote:
> Hi Sergey,
>
> Thank you for the patch. It looks good to me except below.
>
> We have modified the patch as we fixed the memory leak ( review comment
> given by Ashesh ) and also fixed the compilation warnings.
> Can you please review and let us know ?
>
> Thanks,
> Neel Patel
>
> On Mon, Feb 15, 2021 at 6:15 PM Neel Patel <[email protected]>
> wrote:
>
>> Thanks Sergey for the patch.
>>
>> Sure Dave.
>> There is some compilation warning in linux, I will fix those and test
>> pgAgent in windows and update the thread.
>>
>> On Mon, Feb 8, 2021 at 2:55 PM Dave Page <[email protected]> wrote:
>>
>>> Hi
>>>
>>> On Sat, Feb 6, 2021 at 5:00 AM Sergey Burladyan <[email protected]>
>>> wrote:
>>>
>>>> Currently pgagent doesn't handle unicode correctly.
>>>>
>>>> CharToWString function corrupt multibyte characters because it processes
>>>> string one byte at a time:
>>>> 148 std::string s = std::string(cstr);
>>>> 149 std::wstring wsTmp(s.begin(), s.end());
>>>>
>>>> WStringToChar function does not take into account that there can be
>>>> _multi_byte character on wcstombs output and create buffer with
>>>> size = wcslen:
>>>> 157 int wstr_length = wcslen(wchar_str);
>>>> 158 char *dst = new char[wstr_length + 10];
>>>>
>>>> Also pgagent do not setup locale with setlocale(), without it all
>>>> wcs/mbs functions cannot handle multibyte strings.
>>>>
>>>> For example:
>>>>
>>>> === step code ===
>>>> select 'это проверка кириллицы в теле запроса pgagent'
>>>> =================
>>>>
>>>> === postgres log ===
>>>> 2021-02-05 23:19:05 UTC [15600-1] postgres@postgres ERROR:
>>>> unterminated quoted string at or near "'" at character 8
>>>> 2021-02-05 23:19:05 UTC [15600-2] postgres@postgres STATEMENT: select
>>>> '
>>>> ====================
>>>>
>>>> Please see attached patch.
>>>> I only test it on GNU/Linux and can't test it on Windows, sorry.
>>>>
>>>
>>> Thanks for the patch! Neel/Ashesh; can you take a look please? It looks
>>> OK to me, but then I'm not overly familiar with multibyte string handling.
>>> What, if anything, needs to be done on Windows?
>>>
>>>
>>> --
>>> Dave Page
>>> Blog: http://pgsnake.blogspot.com
>>> Twitter: @pgsnake
>>>
>>> EDB: http://www.enterprisedb.com
>>>
>>>
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-24 11:23 Sergey Burladyan <[email protected]>
parent: Neel Patel <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Sergey Burladyan @ 2021-02-24 11:23 UTC (permalink / raw)
To: Neel Patel <[email protected]>; +Cc: pgadmin-hackers; Ashesh Vashi <[email protected]>; Dave Page <[email protected]>
Neel Patel <[email protected]> writes:
> Do you have any comments for this updated patch ? Let us know ASAP so that
> we can commit it.
Sorry about the delay.
It looks better than my patch, thanks!
There is only two comments, about wcstombs_s and about setlocale.
About win32 wcstombs_s:
+ wcstombs_s(&charsConverted, mbs, mb_len + 10, wchar_str, mb_len + 1);
https://docs.microsoft.com/ru-ru/cpp/c-runtime-library/reference/wcstombs-s-wcstombs-s-l?view=msvc-1...
>> sizeInBytes
>> The size in bytes of the mbstr buffer.
>> count
>> The maximum number of bytes to store in the mbstr buffer, not including
>> the terminating null character
Maybe it should look something like this:
+ wcstombs_s(&charsConverted, mbs, mb_len + 1, wchar_str, mb_len);
About setlocale, I think you missed it in your patch:
diff --git a/unix.cpp b/unix.cpp
index 9a41e38..d4b0d3d 100644
--- a/unix.cpp
+++ b/unix.cpp
@@ -155,6 +155,8 @@ static void daemonize(void)
int main(int argc, char **argv)
{
+ setlocale(LC_ALL, "");
+
std::wstring executable;
executable.assign(CharToWString(argv[0]));
--
Sergey Burladyan
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-24 11:42 Sergey Burladyan <[email protected]>
parent: Sergey Burladyan <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Sergey Burladyan @ 2021-02-24 11:42 UTC (permalink / raw)
To: Neel Patel <[email protected]>; +Cc: pgadmin-hackers; Ashesh Vashi <[email protected]>; Dave Page <[email protected]>
Sergey Burladyan <[email protected]> writes:
> Maybe it should look something like this:
> + wcstombs_s(&charsConverted, mbs, mb_len + 1, wchar_str, mb_len);
Ah, and we missed check for error.
Something like this, maybe:
+#ifdef __WIN32__
+ size_t charsConverted = 0;
+ if (wcstombs_s(&charsConverted, mbs, mb_len + 1, wchar_str, mb_len) != 0) {
+ delete [] mbs;
+ return NULL;
+ }
+#else
--
Sergey Burladyan
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-24 12:23 Neel Patel <[email protected]>
parent: Sergey Burladyan <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Neel Patel @ 2021-02-24 12:23 UTC (permalink / raw)
To: Sergey Burladyan <[email protected]>; +Cc: pgadmin-hackers; Ashesh Vashi <[email protected]>; Dave Page <[email protected]>
Hi Sergey,
Thanks for the review. Please find the attached updated patch.
Do review it and let me know in case of any comments.
Thanks,
Neel Patel
On Wed, Feb 24, 2021 at 5:12 PM Sergey Burladyan <[email protected]>
wrote:
> Sergey Burladyan <[email protected]> writes:
>
> > Maybe it should look something like this:
> > + wcstombs_s(&charsConverted, mbs, mb_len + 1, wchar_str, mb_len);
>
> Ah, and we missed check for error.
>
> Something like this, maybe:
> +#ifdef __WIN32__
> + size_t charsConverted = 0;
> + if (wcstombs_s(&charsConverted, mbs, mb_len + 1, wchar_str,
> mb_len) != 0) {
> + delete [] mbs;
> + return NULL;
> + }
> +#else
>
> --
> Sergey Burladyan
>
Attachments:
[application/octet-stream] pgagent_unicode_v2.patch (2.1K, 3-pgagent_unicode_v2.patch)
download | inline diff:
diff --git a/misc.cpp b/misc.cpp
index 35ac83d..e518f3a 100644
--- a/misc.cpp
+++ b/misc.cpp
@@ -143,22 +143,66 @@ std::wstring NumToStr(const long l)
}
// This function is used to convert char* to std::wstring.
-std::wstring CharToWString(const char* cstr)
+std::wstring CharToWString(const char *cstr)
{
- std::string s = std::string(cstr);
- std::wstring wsTmp(s.begin(), s.end());
- return wsTmp;
+ if (cstr != NULL)
+ {
+ size_t wc_cnt = mbstowcs(NULL, cstr, 0);
+
+ if (wc_cnt == (size_t) -1) {
+ return std::wstring();
+ }
+
+ wchar_t *wcs = new wchar_t[wc_cnt + 1];
+ if (wcs == NULL) {
+ return std::wstring();
+ }
+
+ if (mbstowcs(wcs, cstr, wc_cnt + 1) == (size_t) -1) {
+ delete [] wcs;
+ return std::wstring();
+ }
+
+ std::wstring tmp(&wcs[0], &wcs[wc_cnt]);
+ delete [] wcs;
+
+ return tmp;
+ }
+ return std::wstring();
}
// This function is used to convert std::wstring to char *.
-char * WStringToChar(const std::wstring &wstr)
+char *WStringToChar(const std::wstring &wstr)
{
const wchar_t *wchar_str = wstr.c_str();
- int wstr_length = wcslen(wchar_str);
- char *dst = new char[wstr_length + 10];
- memset(dst, 0x00, (wstr_length + 10));
- wcstombs(dst, wchar_str, wstr_length);
- return dst;
+
+ int mb_len = wcstombs(NULL, wchar_str, 0);
+
+ if ((size_t)mb_len == (size_t) -1) {
+ return NULL;
+ }
+
+ char *mbs = new char[mb_len + 1];
+ if (mbs == NULL) {
+ return NULL;
+ }
+
+ memset(mbs, 0, mb_len + 1);
+
+#ifdef __WIN32__
+ size_t charsConverted = 0;
+ if (wcstombs_s(&charsConverted, mbs, mb_len + 1, wchar_str, mb_len) != 0) {
+ delete [] mbs;
+ return NULL;
+ }
+#else
+ if (wcstombs(mbs, wchar_str, mb_len + 1) == (size_t) -1) {
+ delete [] mbs;
+ return NULL;
+ }
+
+#endif
+ return mbs;
}
// Below function will generate random string of given character.
diff --git a/unix.cpp b/unix.cpp
index 9a41e38..d4b0d3d 100644
--- a/unix.cpp
+++ b/unix.cpp
@@ -155,6 +155,8 @@ static void daemonize(void)
int main(int argc, char **argv)
{
+ setlocale(LC_ALL, "");
+
std::wstring executable;
executable.assign(CharToWString(argv[0]));
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-24 14:44 Sergey Burladyan <[email protected]>
parent: Neel Patel <[email protected]>
0 siblings, 1 reply; 13+ messages in thread
From: Sergey Burladyan @ 2021-02-24 14:44 UTC (permalink / raw)
To: Neel Patel <[email protected]>; +Cc: pgadmin-hackers; Ashesh Vashi <[email protected]>; Dave Page <[email protected]>
Neel Patel <[email protected]> writes:
> Thanks for the review. Please find the attached updated patch.
> Do review it and let me know in case of any comments.
Looks good, thanks!
--
Sergey Burladyan
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-26 06:36 Neel Patel <[email protected]>
parent: Sergey Burladyan <[email protected]>
0 siblings, 2 replies; 13+ messages in thread
From: Neel Patel @ 2021-02-26 06:36 UTC (permalink / raw)
To: Dave Page <[email protected]>; Ashesh Vashi <[email protected]>; +Cc: pgadmin-hackers; Sergey Burladyan <[email protected]>
Hi Dave/Ashesh,
Do you have any further comments ?
Thanks,
Neel Patel
On Wed, Feb 24, 2021 at 8:14 PM Sergey Burladyan <[email protected]>
wrote:
> Neel Patel <[email protected]> writes:
>
> > Thanks for the review. Please find the attached updated patch.
> > Do review it and let me know in case of any comments.
>
> Looks good, thanks!
>
> --
> Sergey Burladyan
>
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-02-26 09:36 Dave Page <[email protected]>
parent: Neel Patel <[email protected]>
1 sibling, 0 replies; 13+ messages in thread
From: Dave Page @ 2021-02-26 09:36 UTC (permalink / raw)
To: Neel Patel <[email protected]>; +Cc: Ashesh Vashi <[email protected]>; pgadmin-hackers; Sergey Burladyan <[email protected]>
On Fri, Feb 26, 2021 at 6:36 AM Neel Patel <[email protected]>
wrote:
> Hi Dave/Ashesh,
>
> Do you have any further comments ?
>
Thanks Sergey, Neel. I have no further comments.
>
> Thanks,
> Neel Patel
>
> On Wed, Feb 24, 2021 at 8:14 PM Sergey Burladyan <[email protected]>
> wrote:
>
>> Neel Patel <[email protected]> writes:
>>
>> > Thanks for the review. Please find the attached updated patch.
>> > Do review it and let me know in case of any comments.
>>
>> Looks good, thanks!
>>
>> --
>> Sergey Burladyan
>>
>
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EDB: http://www.enterprisedb.com
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-03-30 12:44 Ashesh Vashi <[email protected]>
parent: Neel Patel <[email protected]>
1 sibling, 1 reply; 13+ messages in thread
From: Ashesh Vashi @ 2021-03-30 12:44 UTC (permalink / raw)
To: Neel Patel <[email protected]>; Dave Page <[email protected]>; +Cc: pgadmin-hackers; Sergey Burladyan <[email protected]>
On Fri, Feb 26, 2021 at 12:06 PM Neel Patel <[email protected]>
wrote:
> Hi Dave/Ashesh,
>
> Do you have any further comments ?
>
Apologies for late response. Committed the patch.
Dave,
I've also updated the pgAgent's patch version (new version: 4.2.1), and
copyright information.
-- Thanks, Ashesh
>
> Thanks,
> Neel Patel
>
> On Wed, Feb 24, 2021 at 8:14 PM Sergey Burladyan <[email protected]>
> wrote:
>
>> Neel Patel <[email protected]> writes:
>>
>> > Thanks for the review. Please find the attached updated patch.
>> > Do review it and let me know in case of any comments.
>>
>> Looks good, thanks!
>>
>> --
>> Sergey Burladyan
>>
>
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: pgagent unicode support
@ 2021-03-30 13:09 Dave Page <[email protected]>
parent: Ashesh Vashi <[email protected]>
0 siblings, 0 replies; 13+ messages in thread
From: Dave Page @ 2021-03-30 13:09 UTC (permalink / raw)
To: Ashesh Vashi <[email protected]>; +Cc: Neel Patel <[email protected]>; pgadmin-hackers; Sergey Burladyan <[email protected]>
On Tue, Mar 30, 2021 at 1:45 PM Ashesh Vashi <[email protected]>
wrote:
> On Fri, Feb 26, 2021 at 12:06 PM Neel Patel <[email protected]>
> wrote:
>
>> Hi Dave/Ashesh,
>>
>> Do you have any further comments ?
>>
> Apologies for late response. Committed the patch.
>
> Dave,
>
> I've also updated the pgAgent's patch version (new version: 4.2.1), and
> copyright information.
>
Thanks!
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EDB: http://www.enterprisedb.com
^ permalink raw reply [nested|flat] 13+ messages in thread
end of thread, other threads:[~2021-03-30 13:09 UTC | newest]
Thread overview: 13+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2021-02-06 04:59 pgagent unicode support Sergey Burladyan <[email protected]>
2021-02-08 09:25 ` Dave Page <[email protected]>
2021-02-15 12:45 ` Neel Patel <[email protected]>
2021-02-18 11:42 ` Neel Patel <[email protected]>
2021-02-23 12:53 ` Neel Patel <[email protected]>
2021-02-24 11:23 ` Sergey Burladyan <[email protected]>
2021-02-24 11:42 ` Sergey Burladyan <[email protected]>
2021-02-24 12:23 ` Neel Patel <[email protected]>
2021-02-24 14:44 ` Sergey Burladyan <[email protected]>
2021-02-26 06:36 ` Neel Patel <[email protected]>
2021-02-26 09:36 ` Dave Page <[email protected]>
2021-03-30 12:44 ` Ashesh Vashi <[email protected]>
2021-03-30 13:09 ` Dave Page <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox