Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

common-schema.sql 1.8 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  1. --- #step ISBN ID storage
  2. CREATE TABLE IF NOT EXISTS isbn_id (
  3. isbn_id SERIAL PRIMARY KEY,
  4. isbn VARCHAR NOT NULL UNIQUE
  5. );
  6. --- #step Functions for book code numberspaces
  7. CREATE OR REPLACE FUNCTION bc_of_work(wk INTEGER) RETURNS INTEGER
  8. AS $$ SELECT $1 + 100000000 $$
  9. LANGUAGE SQL
  10. IMMUTABLE STRICT PARALLEL SAFE;
  11. CREATE OR REPLACE FUNCTION bc_of_edition(ed INTEGER) RETURNS INTEGER
  12. AS $$ SELECT $1 + 200000000 $$
  13. LANGUAGE SQL
  14. IMMUTABLE STRICT PARALLEL SAFE;
  15. CREATE OR REPLACE FUNCTION bc_of_loc_rec(rec INTEGER) RETURNS INTEGER
  16. AS $$ SELECT $1 + 300000000 $$
  17. LANGUAGE SQL
  18. IMMUTABLE STRICT PARALLEL SAFE;
  19. CREATE OR REPLACE FUNCTION bc_of_gr_work(rec INTEGER) RETURNS INTEGER
  20. AS $$ SELECT $1 + 400000000 $$
  21. LANGUAGE SQL
  22. IMMUTABLE STRICT PARALLEL SAFE;
  23. CREATE OR REPLACE FUNCTION bc_of_gr_book(rec INTEGER) RETURNS INTEGER
  24. AS $$ SELECT $1 + 500000000 $$
  25. LANGUAGE SQL
  26. IMMUTABLE STRICT PARALLEL SAFE;
  27. CREATE OR REPLACE FUNCTION bc_of_loc_work(rec INTEGER) RETURNS INTEGER
  28. AS $$ SELECT $1 + 600000000 $$
  29. LANGUAGE SQL
  30. IMMUTABLE STRICT PARALLEL SAFE;
  31. CREATE OR REPLACE FUNCTION bc_of_loc_instance(rec INTEGER) RETURNS INTEGER
  32. AS $$ SELECT $1 + 700000000 $$
  33. LANGUAGE SQL
  34. IMMUTABLE STRICT PARALLEL SAFE;
  35. CREATE OR REPLACE FUNCTION bc_of_isbn(id INTEGER) RETURNS INTEGER
  36. AS $$ SELECT $1 + 900000000 $$
  37. LANGUAGE SQL
  38. IMMUTABLE STRICT PARALLEL SAFE;
  39. --- #step ExtractISBN function
  40. CREATE OR REPLACE FUNCTION extract_isbn(raw_isbn VARCHAR) RETURNS VARCHAR
  41. LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE COST 5
  42. AS $$
  43. SELECT upper(regexp_replace(substring(regexp_replace(raw_isbn, '[^[:alnum:]_ -]', '') from
  44. '^\s*(?:(?:(?:ISBN)?[a-zA-Z]+?|\(\d+\))\s*)?([0-9 -]+[0-9Xx])'
  45. ), '[- ]', ''))
  46. $$;
  47. --- #step Node IRI to UUID conversion
  48. CREATE OR REPLACE FUNCTION node_uuid(iri VARCHAR) RETURNS UUID
  49. LANGUAGE SQL IMMUTABLE PARALLEL SAFE
  50. AS $$
  51. SELECT uuid_generate_v5(uuid_ns_url(), iri);
  52. $$;
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...