private void parseProcedureStmt(TStoredProcedureSqlStatement procedureStmt) { if (procedureStmt.StoredProcedureName == null) { return; } ProcedureMetaData procedureMetaData = getProcedureMetaData(procedureStmt.StoredProcedureName); procedureMetaData = getProcedureMetaData(procedureMetaData, true); TObjectName procedureName = procedureStmt.StoredProcedureName; procedure procedure = new procedure(); procedure.name = procedureMetaData.DisplayName; procedure.owner = getOwnerString(procedureMetaData); procedure.coordinate = procedureName.startToken.lineNo + "," + procedureName.startToken.columnNo; procedure.highlightInfo = procedureName.startToken.offset + "," + (procedureName.endToken.offset - procedureName.startToken.offset + procedureName.endToken.astext.Length); List <procedure> procedureList = getProcedureList(procedures.Item1); procedureList.Add(procedure); procedures.Item1.procedures = procedureList.ToArray(); parseProcedureLineage(procedureStmt, procedureMetaData, procedure); }
private void parseStatement(TCustomSqlStatement stmt) { if (stmt is TUseDatabase) { TUseDatabase use = (TUseDatabase)stmt; database = use.DatabaseName.ToString(); } else if (stmt is TStoredProcedureSqlStatement) { TStoredProcedureSqlStatement procedureStmt = (TStoredProcedureSqlStatement)stmt; parseProcedureStmt(procedureStmt); } }
private void parseProcedureLineage(TStoredProcedureSqlStatement procedureStmt, ProcedureMetaData procedureMetaData, procedure sourceProcedure) { functionVisitor fv = new functionVisitor(this, procedureMetaData, sourceProcedure); procedureStmt.acceptChildren(fv); }