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

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

Comments

Loading...