Postgresql hex Funkcja z java do SQL

0

Witam.
Mam problem - muszę przepisać funkcję z języka java na sql. Nie wiem jak w postgresql użyć wartości hex ( 0x1f ) i ( 0x20 ) lub jak ew. to zastąpić.

W javie fragment kodu wygląda tak:

do {

	b = encoded.charAt(index++) - 63;                                              
	result |= (b & 0x1f) << shift;
	shift += 5;                      
	
} while (b >= 0x20);
0

Witam,
Napisz unit testy dla aplikacji java / procedury składowanej / SQL. I upewnij się, że dane są spoko. Po stronie bazy mam na myśli jakieś asercje, które po prostu parametrycznie sprawdzą ciąg wartości. I tak ciężko bez testu upewnić się, że przepisana wartość zadziała: trzeba mieć zestaw parametrów.

Może bez sensu jest to przepisywać? W PostgreSQL masz PL/Java. Właśnie wydali 1.5.
https://github.com/tada/pljava (znajdziesz tam wiki i stronę projektu). PL/Java zaczyna być production ready zdaje się, ale nie używałem.

Ale nawet używając PL/Java odpaliłbym jakieś asercje.

EDIT:
Teraz sobie doczytałem na stacku, że jest coś takiego:
http://stackoverflow.com/questions/12375369/convert-hex-string-to-bigint-in-postgres

 select ('x'||lpad(the_hex_value,16,'0'))::bit(64)::bigint;

The left padding with 0 is necessary because the leftmost bit is always going to be interpreted as the sign bit. Also keep in mind that bigint is signed, postgres doesn't have built-in unsigned types.

Ale ja bym sobie z tego funkcje zbudował, ale najpierw porządnie wytestował.

1 użytkowników online, w tym zalogowanych: 0, gości: 1