gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: -expand tables


From: gnunet
Subject: [taler-exchange] branch master updated: -expand tables
Date: Tue, 27 Dec 2022 03:31:16 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 871d0106 -expand tables
871d0106 is described below

commit 871d010637205965dabb7f29e43679756a4449a6
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Tue Dec 27 03:31:13 2022 +0100

    -expand tables
---
 src/exchangedb/0003-kyc_attributes.sql | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/src/exchangedb/0003-kyc_attributes.sql 
b/src/exchangedb/0003-kyc_attributes.sql
index db7f2e1e..1547466f 100644
--- a/src/exchangedb/0003-kyc_attributes.sql
+++ b/src/exchangedb/0003-kyc_attributes.sql
@@ -27,7 +27,10 @@ BEGIN
     'CREATE TABLE IF NOT EXISTS %I'
       '(kyc_attributes_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY'
       ',h_payto BYTEA PRIMARY KEY CHECK (LENGTH(h_payto)=32)'
+      ',kyc_prox BYTEA NOT NULL CHECK (LENGTH(kyc_prox)=32)'
       ',provider VARCHAR NOT NULL'
+      ',birthdate VARCHAR'
+      ',collection_time INT8 NOT NULL'
       ',expiration_time INT8 NOT NULL'
       ',encrypted_attributes VARCHAR NOT NULL'
     ') %s ;'
@@ -46,6 +49,24 @@ BEGIN
     ,table_name
     ,partition_suffix
   );
+  PERFORM comment_partitioned_column(
+     'short hash of normalized full name and birthdate; used to efficiently 
find likely duplicate users'
+    ,'kyc_prox'
+    ,table_name
+    ,partition_suffix
+  );
+  PERFORM comment_partitioned_column(
+     'birth date of the user, in format YYYY-MM-DD where a value of 0 is used 
to indicate unknown (in official documents); NULL if the birth date was not 
collected by the provider; used for KYC-driven age restrictions'
+    ,'birthdate'
+    ,table_name
+    ,partition_suffix
+  );
+  PERFORM comment_partitioned_column(
+     'time when the attributes were collected by the provider'
+    ,'collection_time'
+    ,table_name
+    ,partition_suffix
+  );
   PERFORM comment_partitioned_column(
      'time when the attributes should no longer be considered validated'
     ,'expiration_time'
@@ -85,6 +106,18 @@ BEGIN
       ' ADD CONSTRAINT ' || table_name || '_serial_key '
         'UNIQUE (kyc_attributes_serial_id)'
   );
+  -- To search similar users (e.g. during AML checks)
+  EXECUTE FORMAT (
+    'CREATE INDEX ' || table_name || '_similarity_index '
+    'ON ' || table_name || ' '
+    '(kyc_prox);'
+  );
+  -- For garbage collection
+  EXECUTE FORMAT (
+    'CREATE INDEX ' || table_name || '_expiration_time '
+    'ON ' || table_name || ' '
+    '(expiration_time ASC);'
+  );
 END $$;
 
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]