@@ -160,24 +160,33 @@ def update_KNN_graph(self):
160160 logging .info ("Vector index does not exist, So KNN graph not update" )
161161
162162 def check_account_access (self , database ):
163- query = """
164- SHOW USER PRIVILEGES
165- YIELD *
166- WHERE graph = $database AND action IN ['read']
167- RETURN COUNT(*) AS readAccessCount
168- """
169163 try :
170- logging .info (f"Checking access for database: { database } " )
164+ query_dbms_componenet = "call dbms.components() yield edition"
165+ result_dbms_componenet = self .graph .query (query_dbms_componenet )
171166
172- result = self .graph .query (query , params = {"database" : database })
173- read_access_count = result [0 ]["readAccessCount" ] if result else 0
167+ if result_dbms_componenet [0 ]["edition" ] == "enterprise" :
168+ query = """
169+ SHOW USER PRIVILEGES
170+ YIELD *
171+ WHERE graph = $database AND action IN ['read']
172+ RETURN COUNT(*) AS readAccessCount
173+ """
174+
175+ logging .info (f"Checking access for database: { database } " )
174176
175- logging .info (f"Read access count: { read_access_count } " )
177+ result = self .graph .query (query , params = {"database" : database })
178+ read_access_count = result [0 ]["readAccessCount" ] if result else 0
176179
177- if read_access_count > 0 :
178- logging .info ("The account has read access." )
179- return False
180+ logging .info (f"Read access count: { read_access_count } " )
181+
182+ if read_access_count > 0 :
183+ logging .info ("The account has read access." )
184+ return False
185+ else :
186+ logging .info ("The account has write access." )
187+ return True
180188 else :
189+ #Community version have no roles to execute admin command, so assuming write access as TRUE
181190 logging .info ("The account has write access." )
182191 return True
183192
0 commit comments