Thread: Need help how to reproduce MySQL binary to PosgreSQL

Need help how to reproduce MySQL binary to PosgreSQL

From
Condor
Date:
Hello,

how I can reproduce MySQL binary to PosgreSQL and use follow 
functionality in PG.

On mysql I have table with 3 fields:

CREATE TABLE table (
   user_id int,
   user_info binary(4),
   user_data binary(16)
);

then I use them for example:

UPDATE table set user_info = CHAR(0, 2, 0, 0), user_data = CHAR(123, 1, 
0, 2) WHERE user_id = 1;

select and insert them as:

SELECT HEX(user_info) AS user_info, HEX(user_data) AS user_data FROM 
table;
INSERT INTO table (user_info, user_data) VALUES 
(UNHEX(hexdata_commng_from_app), UNHEX(hexdata_commng_from_app));

I check PG does not have functions HEX and UNHEX. Some one can help a 
little ?

Regards,
HS



Re: Need help how to reproduce MySQL binary to PosgreSQL

From
Ashesh Vashi
Date:

On Sun, Aug 9, 2020 at 11:42 AM Condor <condor@stz-bg.com> wrote:

Hello,

how I can reproduce MySQL binary to PosgreSQL and use follow
functionality in PG.

On mysql I have table with 3 fields:

CREATE TABLE table (
   user_id int,
   user_info binary(4),
   user_data binary(16)
);

then I use them for example:

UPDATE table set user_info = CHAR(0, 2, 0, 0), user_data = CHAR(123, 1,
0, 2) WHERE user_id = 1;

select and insert them as:

SELECT HEX(user_info) AS user_info, HEX(user_data) AS user_data FROM
table;
INSERT INTO table (user_info, user_data) VALUES
(UNHEX(hexdata_commng_from_app), UNHEX(hexdata_commng_from_app));

I check PG does not have functions HEX and UNHEX. Some one can help a
little ?

Regards,
HS


Re: Need help how to reproduce MySQL binary to PosgreSQL

From
Condor
Date:
On 09-08-2020 09:20, Ashesh Vashi wrote:
> Hi,
> 
> Have you checked this?
> https://stackoverflow.com/questions/44813386/mysqls-hex-and-unhex-equivalent-in-postgres
> 
> --
> 
> Thanks & Regards,
> 
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company [1]
> 
> _http://www.linkedin.com/in/asheshvashi_ [2]
> 
> On Sun, Aug 9, 2020 at 11:42 AM Condor <condor@stz-bg.com> wrote:
> 
>> Hello,
>> 
>> how I can reproduce MySQL binary to PosgreSQL and use follow
>> functionality in PG.
>> 
>> On mysql I have table with 3 fields:
>> 
>> CREATE TABLE table (
>> user_id int,
>> user_info binary(4),
>> user_data binary(16)
>> );
>> 
>> then I use them for example:
>> 
>> UPDATE table set user_info = CHAR(0, 2, 0, 0), user_data = CHAR(123,
>> 1,
>> 0, 2) WHERE user_id = 1;
>> 
>> select and insert them as:
>> 
>> SELECT HEX(user_info) AS user_info, HEX(user_data) AS user_data FROM
>> 
>> table;
>> INSERT INTO table (user_info, user_data) VALUES
>> (UNHEX(hexdata_commng_from_app), UNHEX(hexdata_commng_from_app));
>> 
>> I check PG does not have functions HEX and UNHEX. Some one can help
>> a
>> little ?
>> 
>> Regards,
>> HS
> 
> 

Yea, I checked it, but because is 3 years old solution I expect these 
functions to be implemented long ago and just have another names or to 
have similar functions that do the same functionality. It's seems not, 
Okay will use the solution from sof.

Regards,
HS



Re: Need help how to reproduce MySQL binary to PosgreSQL

From
Geoff Winkless
Date:
On Sun, 9 Aug 2020 at 12:49, Condor <condor@stz-bg.com> wrote:
> Yea, I checked it, but because is 3 years old solution I expect these
> functions to be implemented long ago and just have another names or to
> have similar functions that do the same functionality. It's seems not,
> Okay will use the solution from sof.

Those functions _have_ been implemented long ago with other names, as
per the answer to the link given.

The functions you want are encode and decode, or to_hex if you want to
encode integers. The only reason to use the CREATE FUNCTION shims as
per the answer is if you don't want to change your code.

You might find https://pgxn.org/dist/mysqlcompat/ helpful too.

Geoff