Skip to content

Commit c518c70

Browse files
committed
testing ore payload as bytea[]
1 parent df9f863 commit c518c70

File tree

4 files changed

+32
-82
lines changed

4 files changed

+32
-82
lines changed

sql/000-ore.sql

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,13 @@ CREATE TYPE ore_64_8_v1 AS (
88
terms ore_64_8_v1_term[]
99
);
1010

11-
DROP FUNCTION IF EXISTS cs_cast_ore_64_8_v1_term_to_bytea(t ore_64_8_v1_term);
12-
13-
CREATE FUNCTION cs_cast_ore_64_8_v1_term_to_bytea(t ore_64_8_v1_term)
14-
RETURNS bytea
15-
LANGUAGE sql IMMUTABLE STRICT PARALLEL SAFE
16-
BEGIN ATOMIC
17-
RETURN t.bytes;
18-
END;
19-
20-
DROP CAST IF EXISTS (ore_64_8_v1_term AS bytea);
21-
22-
CREATE CAST (ore_64_8_v1_term AS bytea)
23-
WITH FUNCTION cs_cast_ore_64_8_v1_term_to_bytea(ore_64_8_v1_term) AS IMPLICIT;
24-
2511

2612
DROP FUNCTION IF EXISTS compare_ore_64_8_v1_term(a ore_64_8_v1_term, b ore_64_8_v1_term);
2713
DROP FUNCTION IF EXISTS compare_ore_64_8_v1_term(a bytea, b bytea);
2814

2915
CREATE FUNCTION compare_ore_64_8_v1_term(a ore_64_8_v1_term, b ore_64_8_v1_term) returns integer AS $$
3016
BEGIN
31-
SELECT compare_ore_64_8_v1_term(a.bytes, b.bytes)
17+
SELECT compare_ore_64_8_v1_term(a.bytes, b.bytes);
3218
END;
3319
$$ LANGUAGE plpgsql;
3420

sql/017-operators-ore.sql

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -408,24 +408,20 @@ CREATE FUNCTION cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b cs_encrypted_
408408
DECLARE
409409
a_ore bytea[];
410410
b_ore bytea[];
411+
result integer;
411412
BEGIN
412-
a_ore = ARRAY[(a->>'o')::bytea];
413-
b_ore = ARRAY[(b->>'o')::bytea];
414413

415-
RETURN compare_ore_64_8_v1(a_ore, b_ore);
416-
END;
417-
418-
$$ LANGUAGE plpgsql;
414+
SELECT cs_ore_64_8_v1(a) INTO a_ore;
415+
SELECT cs_ore_64_8_v1(b) INTO b_ore;
419416

417+
RAISE NOTICE 'a %', a_ore;
418+
RAISE NOTICE 'b %', b_ore;
420419

421-
-- DROP FUNCTION IF EXISTS cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b cs_encrypted_v1);
420+
SELECT compare_ore_64_8_v1(a_ore, b_ore) INTO RESULT;
422421

423-
-- CREATE FUNCTION cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b jsonb)
424-
-- RETURNS integer AS $$
425-
-- BEGIN
426-
-- RETURN compare_ore_64_8_v1(cs_ore_64_8_v1(a), cs_ore_64_8_v1(jsonb));
427-
-- END;
428-
-- $$ LANGUAGE plpgsql;
422+
RETURN result;
423+
END;
424+
$$ LANGUAGE plpgsql;
429425

430426

431427
-----------------------------------------------------------------------------------------

sql/666-drop-operators.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
DROP OPERATOR FAMILY IF EXISTS cs_encrypted_ore_64_8_v1_btree_ops_v1;
2-
DROP OPERATOR CLASS IF EXISTS cs_encrypted_ore_64_8_v1_btree_ops_v1;
1+
DROP OPERATOR FAMILY IF EXISTS cs_encrypted_ore_64_8_v1_btree_ops_v1 USING btree;
2+
DROP OPERATOR CLASS IF EXISTS cs_encrypted_ore_64_8_v1_btree_ops_v1 USING btree;
33

44
DROP OPERATOR IF EXISTS @> (cs_encrypted_v1, cs_encrypted_v1);
55
DROP OPERATOR IF EXISTS @> (cs_encrypted_v1, cs_match_index_v1);

tests/operators-ore-order.sql

Lines changed: 20 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,43 @@
11
\set ON_ERROR_STOP on
22

3-
43
-- Create a table with a plaintext column
5-
DROP TABLE IF EXISTS users;
6-
CREATE TABLE users
4+
DROP TABLE IF EXISTS encrypted;
5+
CREATE TABLE encrypted
76
(
87
id bigint GENERATED ALWAYS AS IDENTITY,
9-
name_encrypted cs_encrypted_v1,
8+
encrypted_int2 cs_encrypted_v1,
109
PRIMARY KEY(id)
1110
);
1211

13-
TRUNCATE TABLE users;
14-
15-
CREATE index ON users (name_encrypted cs_encrypted_ore_64_8_v1_btree_ops_v1);
1612

13+
CREATE index ON encrypted (encrypted_int2 cs_encrypted_ore_64_8_v1_btree_ops_v1);
1714

18-
-- User with "HIGH" value
19-
INSERT INTO users (name_encrypted) VALUES (
20-
'{
21-
"v": 1,
22-
"k": "ct",
23-
"c": "high",
24-
"i": {
25-
"t": "users",
26-
"c": "name"
27-
},
28-
"o":"(\"{\"\"(\\\\\"\"\\\\\\\\\\\\\\\\x1212121212125932e28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd8011f94b49eaa5fa5a60e1e2adccde4185a7d6c7f83088500b677f897d4ffc276016d614708488f407c01bd3ccf2be653269062cb97f8945a621d049277d19b1c248611f25d047038928d2efeb4323c402af4c19288c7b36911dc06639af5bb34367519b66c1f525bbd3828c12067c9c579aeeb4fb3ae0918125dc1dad5fd518019a5ae67894ce1a7f7bed1a591ba8edda2fdf4cd403761fd981fb1ea5eb0bf806f919350ee60cac16d0a39a491a4d79301781f95ea3870aea82e9946053537360b2fb415b18b61aed0af81d461ad6b923f10c0df79daddc4e279ff543a282bb3a37f9fa03238348b3dac51a453b04bced1f5bd318ddd829bdfe5f37abdbeda730e21441b818302f3c5c2c4d5657accfca4c53d7a80eb3db43946d38965be5f796b\\\\\"\")\"\"}\")"
29-
}'::jsonb
30-
);
3115

16+
-- 99
17+
INSERT INTO encrypted (encrypted_int2) VALUES ('{"c": "99", "i": {"table": "encrypted", "column": "encrypted_int2"}, "k": "ct", "m": null, "o": "{\"\\\\\\\\\\\\\\\\x121212121212594be28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd80132248f0640e89761a123fad8155748d7df6b2c706438ae9990eaae2c53152f6a054114e7c0c43191931fa630315ecf5b2043fec606e98129b60164c904e72c7b89b8112bec8d2434f0b8a2b39d8789aa3d1807aa97eb0f1218975bdafabf63e366718bde853f4e138ec155e3881130596a7ce7f1bf8b4fc8d9cdcaaea967c4971775330759f64b6a6e8f981cbbd6d18cd441e424dd58b7327f0dbd405c1779b74ad537ca1563b5c5eb6419a2c8ddf8c445b8c477a3bbeca05f40c0798040abff80fd48072dfb7a4467dc7a0808ac2c189a1391170ebdf594954c1ab8fd5d966a2ac7bb9136ed566f0d01ff365f51d59af9b92fc760fc70f424be40906e9fdf8b70e228aedb30607d0aad1b48254bdcdfcc096d6eecd09659bccbbf17b28e89eb\"}", "u": "c787c0331d81d7609e828bab7b973ba88c95de0539d1a1d378b4d5cc73c3b875", "v": 1}');
3218

33-
-- User with "LOW" value
34-
INSERT INTO users (name_encrypted) VALUES (
35-
'{
36-
"v": 1,
37-
"k": "ct",
38-
"c": "low",
39-
"i": {
40-
"t": "users",
41-
"c": "name"
42-
},
43-
"o":"(\"{\"\"(\\\\\"\"\\\\\\\\\\\\\\\\x12121212121259bfe28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801ff4a28b714e4cde8df10625dce72602fdbdcc53d515857f1119f5912804ce09c6cf6c2d37393a27a465134523b512664582f834e15003b7216cb668480bc3e7d1c069f2572ece7c848b9eb9a28b4e62bfc2b97c93e61b2054154e621c5bbb7bed37de3d7c343bd3dbcf7b4af20128c961351bf55910a855f08a8587c2059a5f05ca8d7a082e695b3dd4ff3ce86694d4fe98972220eea1ab90f5de493ef3a502b74a569f103ee2897ebc9ae9b16a17e7be67415ee830519beb3058ffc1c1eb0e574d66c8b365919f27eb00aa7bce475d7bdaad4ed800f8fc3d626e0eb842e312b0cc22a1ccf89847ebb2cd0a6e18aec21bd2deeec1c47301fc687f7f764bb882b50f553c246a6da5816b78b3530119ea68b08a8403a90e063e58502670563bd4d\\\\\"\")\"\"}\")"
44-
}'::jsonb
45-
);
19+
-- 5 .. 9
20+
INSERT INTO encrypted (encrypted_int2) VALUES ('{"c": "5", "i": {"table": "encrypted", "column": "encrypted_int2"}, "k": "ct", "m": null, "o": "{\"\\\\\\\\\\\\\\\\x121212121212591fe28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801d7a2a8638edc950e921074126382a46dc1cddd68d653ff67447fb929a057027664983df10ec4fa48ff72805aadcfbf20250bc6734a4c4097f1c7b2e919f787f0069045ca27b9fb6557eda9da508b9c1921c836b4311540f6b565d5743c07c55dd1352efb8c61a6e13f0eef1763a4cd64a34fca99638fd96653e6a83ae728a4520fcd0c08074f55d046dd2c47d7905ef3b1650828a8c7a89a0d35273aa48cda337ec4124f168aeadd425b32bea4b410828e7a67caa9e8c21954a3255ea73b9ef801167db8440daaf33cc0c1069597b0b82157a5adb9cbe87932d4133d83d25c1aab21165a134540bfe8268cdaf7878a6f6473e62ba2f3371c737b5f513d6166194d106df8abfd551767c9d011091614d96301fc8f9e330678c2fd915678cababd\"}", "u": "cdd6248063d3431f3fe010c5728954fd62cbf42b0c515a9991bd4fc673604e26", "v": 1}');
21+
INSERT INTO encrypted (encrypted_int2) VALUES ('{"c": "6", "i": {"table": "encrypted", "column": "encrypted_int2"}, "k": "ct", "m": null, "o": "{\"\\\\\\\\\\\\\\\\x121212121212599de28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801a6afd969a465c445ab35c15e7ef11eba0411270c2fdd4578aef1155f13e1cba0341a89333540fc98dbdd394db2fdaaa89aa955c6f597c0c71d79cd27934a2db7844a325067a8bfc61949806419742a55b78f90788e881346b91ae242c54ef5ab71e022d4e299beb02faecdd38ea11604a6776f602bf79e9173eeee2ca1ad822fa2a943621cb84e33587a420d3b56f53b2fe9ceea24ccb418db9c98e10362e1f8acc188cdddc7fd9e27f0460f60ceeb30b0b9a3af4c6d9f4ddbf398e8af529c0d18de229ea67b86b1f4a15a6e73d58ade30ebae2bcbadad7383df69e4f7a6c8826d1ba7e2279417259b50a26271278d1078145b7b7bfbf0a94bfe34c39c6247bf982dfb68e0b4f969a10d9ae500d57a901ea717244da6207ed0599d7f2cbdd4f2\"}", "u": "a97ec70e9e4cc5c6888f1f809ec4fa551aff8633d76cfb26bb20997d4d50ca91", "v": 1}');
22+
INSERT INTO encrypted (encrypted_int2) VALUES ('{"c": "7", "i": {"table": "encrypted", "column": "encrypted_int2"}, "k": "ct", "m": null, "o": "{\"\\\\\\\\\\\\\\\\x1212121212125948e28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801a901168d92ea2d7df254becc59888cf46c1d5faf172e7f95cff290254c3873edef20871a19f2d66c8a139678c5c6829a7b1f9d56fe44ad492b8c45a19d83aeadd84d01e1b095abdab069159ab18db8f457b0bdac457c084d0c67a2e6fcd9423231c9bfd89788ef127032472ae51215536d6b550de87b221037a2a48757805d1a9c1f9df240bf041f95beee31b5d19b626682d4c06f93846572fc87c0f25cf30c4e1b196f25e3f9ae44aebb62eaad2c53fcbfbf07f4f96f408fc329bd6e591e6c2a28907cc26727ba63c0fe355576c2a18ff4d4e98f4f2f991dd2094b5e4477f8cdcf4e43b6d49a571aa580f3910762bb8c7a45032a1f1f40bfd93b032722140f268afd4dae03ef06bcf9fea2b65e31edd9a19a6d100dfc0066ca2e92f72fd182\"}", "u": "28f3ec44eae678f9d0d8238c0b3a01a146d56ccc4c1125f0373d394c4e1e95f4", "v": 1}');
23+
INSERT INTO encrypted (encrypted_int2) VALUES ('{"c": "8", "i": {"table": "encrypted", "column": "encrypted_int2"}, "k": "ct", "m": null, "o": "{\"\\\\\\\\\\\\\\\\x121212121212594ee28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801783caa0b75f5aa4c005b423d7518fd4ba6eb6aa561404f1a0220899d95fbd4b55f066864ff6954e127ddf460434025440ffa235e4349445f8ae71f35e45a7958d5f98c7f85724dd03c8c973247f0e43e65810b0672bb6d32a1c546fd4c2c724da38fc88e8d0d8f75bc3242b588da322b828832335847f195f7f387132c390d9bc5d056123dbba1fd978f33a60c0afa6a160ac387add829b16ca24b25c1cc84d7606331313b611894b0bcf02adae0d7a5d2a71990efd2b75021f57de01593e5247aa266279a8f585c67e69d1ceb8720e4f5960b58cc0ee79cb4b4ce89ade73e58df1d526c2a4e9ec7b54fdc47b4c0f9ccc46f058e5504f6561003935ebddcc2a8c9e1db37d34f2439ea83d05e35ee01bc89fb30d915ca9ef1853da28bb49bea7c\"}", "u": "9e80a31275db9e5ebc9a254864971cdef2ca68b0047712d3d106d86516bcfc6a", "v": 1}');
24+
INSERT INTO encrypted (encrypted_int2) VALUES ('{"c": "9", "i": {"table": "encrypted", "column": "encrypted_int2"}, "k": "ct", "m": null, "o": "{\"\\\\\\\\\\\\\\\\x12121212121259dae28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801357205e56d3cf91febac317b171083359db17a7bb1b36322c0ba2d98761226235a94cde3ce299e791b0add7a9cb2e0930c6fc85e950ba8118098bbda70a1b64f6f315b9688ade446afbfe0e19fef48c755fb2a0a1cbe03f208c6a700ce4f2194dbad2d5a984af349c34ef03dd326643260f180efeb7bf2f50227646970924ea3e04126edf444e2c6c553a243844c3ab5c208294574a08d3590d8ef4d59da502e30ba176b42e37c113fec63b5dfb7bba36245f087bac09817ef32310b0ad9b940f10bb81da9c7c434c122c03accdfb569ad3bbe8b6b19d02adff465cf666c7b7097ef18079b554da8bd93a589691bce0ca56de08b24797c12dd6a124b2a0ee15ea54c9e52eb63db09f0d346297847be4eb98b9a96ca2ed672794e7e27022ec55a\"}", "u": "94ec6ec3b6a8acb4d1b94f0c3a4a7c6359b11ce5d8fd01a7e4474e5e7a0cca8b", "v": 1}');
4625

26+
-- 1
27+
INSERT INTO encrypted (encrypted_int2) VALUES ('{"c": "1", "i": {"table": "encrypted", "column": "encrypted_int2"}, "k": "ct", "m": null, "o": "{\"\\\\\\\\\\\\\\\\x121212121212597ee28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801f6e268e7ba5a049613d57b000f03353acd2894710cbee75950e4c034ec695bc3c1c4662a272c20df45e7423b38bff2b864d1649483bd65fa40a0a2113d53fb3c756db4cc660266e550e5db1764d0a253b9bfb55a45fafa6add18e36f128d9843c66a2eae20aff8362f9d4cbd78fd7e39ed1b58550b12e7d863e7e2b2737dff77434d1850bf7c3bc2be212b3259c856f45efe6633355d4ecf68f0d97874cf6a7f22d78556c33e15c3903324526e2a36619d82184e7fe815f4bba53d85520c917beaa92dc2d9ae1268049c24ec1e4ab43fdb306a4f32c0b74fb5e943af91226277b11256bcada313abf55b1cde773b6858f199d1267467e664a940675394fab4d4ef729f02d0020275a94d7fb021cf7cd1e213df2136aea73353788be114c52eab\"}", "u": "fd80b0e733ed4ff9fe71434b9474ae434863eb01ceff77d73736ac6600334de3", "v": 1}');
4728

48-
-- SELECT id FROM users WHERE cs_ore_64_8_v1(name_encrypted) > cs_ore_64_8_v1('{"o":"(\"{\"\"(\\\\\"\"\\\\\\\\\\\\\\\\x12121212121259bfe28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801ff4a28b714e4cde8df10625dce72602fdbdcc53d515857f1119f5912804ce09c6cf6c2d37393a27a465134523b512664582f834e15003b7216cb668480bc3e7d1c069f2572ece7c848b9eb9a28b4e62bfc2b97c93e61b2054154e621c5bbb7bed37de3d7c343bd3dbcf7b4af20128c961351bf55910a855f08a8587c2059a5f05ca8d7a082e695b3dd4ff3ce86694d4fe98972220eea1ab90f5de493ef3a502b74a569f103ee2897ebc9ae9b16a17e7be67415ee830519beb3058ffc1c1eb0e574d66c8b365919f27eb00aa7bce475d7bdaad4ed800f8fc3d626e0eb842e312b0cc22a1ccf89847ebb2cd0a6e18aec21bd2deeec1c47301fc687f7f764bb882b50f553c246a6da5816b78b3530119ea68b08a8403a90e063e58502670563bd4d\\\\\"\")\"\"}\")"}');
4929

50-
SELECT id, name_encrypted FROM users ORDER BY cs_ore_64_8_v1(name_encrypted) ASC;
5130

52-
SELECT id, name_encrypted FROM users ORDER BY name_encrypted;
31+
-- SELECT id, name_encrypted FROM users ORDER BY cs_ore_64_8_v1(name_encrypted) ASC;
5332

54-
-- SELECT id FROM users WHERE name_encrypted::cs_encrypted_v1 > '{
55-
-- "v": 1,
56-
-- "k": "ct",
57-
-- "c": "ciphertext",
58-
-- "i": {
59-
-- "t": "users",
60-
-- "c": "name"
61-
-- },
62-
-- "m": [1, 2, 3],
63-
-- "o":"(\"{\"\"(\\\\\"\"\\\\\\\\\\\\\\\\x12121212121259bfe28282d03415e7714fccd69eb7eb476c70743e485e20331f59cbc1c848dcdeda716f351eb20588c406a7df5fb8917ebf816739aa1414ac3b8498e493bf0badea5c9fdb3cc34da8b152b995957591880c523beb1d3f12487c38d18f62dd26209a727674e5a5fe3a3e3037860839afd801ff4a28b714e4cde8df10625dce72602fdbdcc53d515857f1119f5912804ce09c6cf6c2d37393a27a465134523b512664582f834e15003b7216cb668480bc3e7d1c069f2572ece7c848b9eb9a28b4e62bfc2b97c93e61b2054154e621c5bbb7bed37de3d7c343bd3dbcf7b4af20128c961351bf55910a855f08a8587c2059a5f05ca8d7a082e695b3dd4ff3ce86694d4fe98972220eea1ab90f5de493ef3a502b74a569f103ee2897ebc9ae9b16a17e7be67415ee830519beb3058ffc1c1eb0e574d66c8b365919f27eb00aa7bce475d7bdaad4ed800f8fc3d626e0eb842e312b0cc22a1ccf89847ebb2cd0a6e18aec21bd2deeec1c47301fc687f7f764bb882b50f553c246a6da5816b78b3530119ea68b08a8403a90e063e58502670563bd4d\\\\\"\")\"\"}\")"
64-
-- }'::cs_encrypted_v1;
33+
-- SELECT id, cs_ore_64_8_v1(name_encrypted) FROM users;
6534

66-
-- SELECT * FROM users ORDER BY cs_ore_64_8_v1(name_encrypted) ASC;
67-
-- SELECT * FROM users ORDER BY name_encrypted USING <;
68-
-- EXPLAIN ANALYZE SELECT * FROM users ORDER BY name_encrypted ASC;
35+
-- SANITY CHECK DATA
36+
-- SELECT (encrypted_int2->>'o')::bytea[] FROM encrypted;
6937

70-
-- SELECT data_type FROM information_schema.columns WHERE table_name = 'users' AND column_name = 'name_encrypted';
71-
-- EXPLAIN ANALYZE SELECT * FROM users ORDER BY name_encrypted::jsonb ASC;
38+
SELECT id, encrypted_int2->>'c' FROM encrypted ORDER BY encrypted_int2 ASC;
7239

40+
SELECT id, encrypted_int2->>'c' FROM encrypted ORDER BY encrypted_int2 DESC;
7341

7442

7543

0 commit comments

Comments
 (0)