python_arango_ogm.db.pao_queries

 1class PAOQueries:
 2    AQL_UPSERT_DOC="""
 3        UPSERT {{ {key_attrs} }}
 4        INSERT {{ {insert_attrs} }}
 5        UPDATE {{ {update_attrs} }}
 6        IN @@collection OPTIONS {{ keepNull: false }}
 7        RETURN NEW
 8    """
 9
10    # INSERT AQL with created_at set:
11    # attrs and keyattrs in format "KEY1:VAL1, KEY2:VAL2..."
12    AQL_INSERT_DOC="""
13        INSERT {{ {insert_attrs} }} INTO @@collection
14        RETURN NEW
15    """
16
17    AQL_INSERT_DOCS = """
18        FOR doc IN @docs
19            INSERT doc INTO @@collection 
20    """
21
22    AQL_REMOVE_BY_ATTRS="""
23        FOR doc in @@collection
24            {lookup_filter}
25            REMOVE doc IN @@collection
26    """
27    AQL_QUERY_ALL="""
28        FOR doc in @@collection
29          SORT {sort_attrs}
30          RETURN doc
31    """
32
33    AQL_QUERY_BY_ATTRS="""
34        FOR doc in @@collection
35          {lookup_filter}
36          {sort_by}
37          RETURN doc
38    """
39
40    # Lookup associated edges:
41    AQL_QUERY_RELATED_EDGES = """
42        FOR doc IN @@collection
43          {lookup_filter}
44          FOR edge IN @@edge_collection
45            FILTER edge._from == doc._id
46            RETURN edge
47    """
48
49    # Lookup associated vertices through edges:
50    AQL_QUERY_RELATED_VERTICES = """
51        FOR doc IN @@collection
52          {lookup_filter}
53          FOR edge IN @@edge_collection
54            FILTER edge._from == doc._id
55            FOR rel_doc IN @@association_collection
56              FILTER rel_doc._id == edge._to
57                RETURN rel_doc
58    """
class PAOQueries:
 2class PAOQueries:
 3    AQL_UPSERT_DOC="""
 4        UPSERT {{ {key_attrs} }}
 5        INSERT {{ {insert_attrs} }}
 6        UPDATE {{ {update_attrs} }}
 7        IN @@collection OPTIONS {{ keepNull: false }}
 8        RETURN NEW
 9    """
10
11    # INSERT AQL with created_at set:
12    # attrs and keyattrs in format "KEY1:VAL1, KEY2:VAL2..."
13    AQL_INSERT_DOC="""
14        INSERT {{ {insert_attrs} }} INTO @@collection
15        RETURN NEW
16    """
17
18    AQL_INSERT_DOCS = """
19        FOR doc IN @docs
20            INSERT doc INTO @@collection 
21    """
22
23    AQL_REMOVE_BY_ATTRS="""
24        FOR doc in @@collection
25            {lookup_filter}
26            REMOVE doc IN @@collection
27    """
28    AQL_QUERY_ALL="""
29        FOR doc in @@collection
30          SORT {sort_attrs}
31          RETURN doc
32    """
33
34    AQL_QUERY_BY_ATTRS="""
35        FOR doc in @@collection
36          {lookup_filter}
37          {sort_by}
38          RETURN doc
39    """
40
41    # Lookup associated edges:
42    AQL_QUERY_RELATED_EDGES = """
43        FOR doc IN @@collection
44          {lookup_filter}
45          FOR edge IN @@edge_collection
46            FILTER edge._from == doc._id
47            RETURN edge
48    """
49
50    # Lookup associated vertices through edges:
51    AQL_QUERY_RELATED_VERTICES = """
52        FOR doc IN @@collection
53          {lookup_filter}
54          FOR edge IN @@edge_collection
55            FILTER edge._from == doc._id
56            FOR rel_doc IN @@association_collection
57              FILTER rel_doc._id == edge._to
58                RETURN rel_doc
59    """
AQL_UPSERT_DOC = '\n UPSERT {{ {key_attrs} }}\n INSERT {{ {insert_attrs} }}\n UPDATE {{ {update_attrs} }}\n IN @@collection OPTIONS {{ keepNull: false }}\n RETURN NEW\n '
AQL_INSERT_DOC = '\n INSERT {{ {insert_attrs} }} INTO @@collection\n RETURN NEW\n '
AQL_INSERT_DOCS = '\n FOR doc IN @docs\n INSERT doc INTO @@collection \n '
AQL_REMOVE_BY_ATTRS = '\n FOR doc in @@collection\n {lookup_filter}\n REMOVE doc IN @@collection\n '
AQL_QUERY_ALL = '\n FOR doc in @@collection\n SORT {sort_attrs}\n RETURN doc\n '
AQL_QUERY_BY_ATTRS = '\n FOR doc in @@collection\n {lookup_filter}\n {sort_by}\n RETURN doc\n '