Skip to content

Commit 8481ae5

Browse files
pmantica1obi1kenobi
authored andcommitted
Add indexes to test SchemaGraph (kensho-technologies#315)
* Add indexes to test SchemaGraph * Changed sets arguments to lists and remove is None check
1 parent 5a99ee2 commit 8481ae5

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

graphql_compiler/schema_generation/orientdb/schema_graph_builder.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,8 @@ class is an edge class, and
111111
link_schema_elements(elements, inheritance_structure)
112112
for element in six.itervalues(elements):
113113
element.freeze()
114-
if index_data is None:
115-
all_indexes = set()
116-
else:
117-
all_indexes = _get_indexes(index_data, elements)
114+
115+
all_indexes = _get_indexes(index_data, elements)
118116
return SchemaGraph(elements, inheritance_structure, all_indexes)
119117

120118

graphql_compiler/schema_generation/orientdb/utils.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,10 @@
66
'WHERE name NOT IN [\'ORole\', \'ORestricted\', \'OTriggered\', '
77
'\'ORIDs\', \'OUser\', \'OIdentity\', \'OSchedule\', \'OFunction\']'
88
)
9+
10+
ORIENTDB_INDEX_RECORDS_QUERY = (
11+
'SELECT name, type, indexDefinition, metadata FROM ('
12+
'SELECT expand(indexes) FROM metadata:indexmanager'
13+
') WHERE type IN '
14+
'[\'UNIQUE\', \'NOTUNIQUE\', \'UNIQUE_HASH_INDEX\', \'NOTUNIQUE_HASH_INDEX\']'
15+
)

graphql_compiler/tests/test_helpers.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
from .. import get_graphql_schema_from_orientdb_schema_data
1111
from ..debugging_utils import pretty_print_gremlin, pretty_print_match
1212
from ..schema_generation.orientdb.schema_graph_builder import get_orientdb_schema_graph
13-
from ..schema_generation.orientdb.utils import ORIENTDB_SCHEMA_RECORDS_QUERY
13+
from ..schema_generation.orientdb.utils import (
14+
ORIENTDB_INDEX_RECORDS_QUERY, ORIENTDB_SCHEMA_RECORDS_QUERY
15+
)
1416

1517

1618
# The strings which we will be comparing have newlines and spaces we'd like to get rid of,
@@ -274,7 +276,9 @@ def generate_schema_graph(graph_client):
274276
"""Generate SchemaGraph from a pyorient client"""
275277
schema_records = graph_client.command(ORIENTDB_SCHEMA_RECORDS_QUERY)
276278
schema_data = [x.oRecordData for x in schema_records]
277-
return get_orientdb_schema_graph(schema_data, set())
279+
index_records = graph_client.command(ORIENTDB_INDEX_RECORDS_QUERY)
280+
index_query_data = [x.oRecordData for x in index_records]
281+
return get_orientdb_schema_graph(schema_data, index_query_data)
278282

279283

280284
def generate_schema(graph_client, class_to_field_type_overrides=None, hidden_classes=None):

0 commit comments

Comments
 (0)