<commit_before>
;todo Primary-key sequences (could be done via database itself...)

(foreach :AdminDomain
         (add-entity [:admindomain]
                     (mapping :ID [:Id])
                     (mapping :Distributed [:Distributed])
                     (mapping :ID [:adminDomainId]))
         (add-entity [:domain]
                     (mapping :ID [:Id])
                     (mapping :Name [:Name])
                     (mapping :CreationTime [:CreationTime])
                     (mapping :Validity [:Validity])
                     (mapping :Description [:Description])
                     (mapping-relation [:Location :ID] [:locationId] :PrimaryLocatedAtDomainLocation)))

(foreach :Contact
         (add-entity [:contact]
                     (mapping :ID [:Id])
                     (mapping :Name [:Name])
                     (mapping :CreationTime [:CreationTime])
                     (mapping :Validity [:Validity])
                     (mapping :Detail [:Detail])
                     (mapping :Type [:Type])))

(for-each-association :HasContactDomain
                      (add-entity [:domaincontact]
                                  (mapping-relation [:Domain :ID] [:domainId])
                                  (mapping-relation [:Contact :ID] [:contactId])))
<commit_msg>sql output extent minor fix<commit_after>(foreach :AdminDomain
         (add-entity [:admindomain]
                     (mapping :ID [:Id])
                     (mapping :Distributed [:Distributed])
                     (mapping :ID [:adminDomainId]))
         (add-entity [:domain]
                     (mapping :ID [:Id])
                     (mapping :Name [:Name])
                     (mapping :CreationTime [:CreationTime])
                     (mapping :Validity [:Validity])
                     (mapping :Description [:Description])
                     (mapping-relation [:Location :ID] [:locationId] :PrimaryLocatedAtDomainLocation)))

(foreach :Contact
         (add-entity [:contact]
                     (mapping :ID [:Id])
                     (mapping :Name [:Name])
                     (mapping :CreationTime [:CreationTime])
                     (mapping :Validity [:Validity])
                     (mapping :OtherInfo [:Detail])
                     (mapping :Type [:Type])))

(for-each-association :HasContactDomain
                      (add-entity [:domaincontact]
                                  (mapping-relation [:Domain :ID] [:domainId])
                                  (mapping-relation [:Contact :ID] [:contactId])))

{'fraction_non_alphanumeric': 0.12264890282131662, 'fraction_numerical': 0.0, 'mean_word_length': 1.4454022988505748, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4022549', 'n_tokens_mistral': 643, 'n_tokens_neox': 606, 'n_words': 152}