{"action":"created","issue":{"url":"https://api.github.com/repos/JSQLParser/JSqlParser/issues/591","repository_url":"https://api.github.com/repos/JSQLParser/JSqlParser","labels_url":"https://api.github.com/repos/JSQLParser/JSqlParser/issues/591/labels{/name}","comments_url":"https://api.github.com/repos/JSQLParser/JSqlParser/issues/591/comments","events_url":"https://api.github.com/repos/JSQLParser/JSqlParser/issues/591/events","html_url":"https://github.com/JSQLParser/JSqlParser/issues/591","id":305942784,"number":591,"title":"TableNamesFinder refactoring","user":{"login":"adriil","id":35154509,"avatar_url":"https://avatars3.githubusercontent.com/u/35154509?v=4","gravatar_id":"","url":"https://api.github.com/users/adriil","html_url":"https://github.com/adriil","followers_url":"https://api.github.com/users/adriil/followers","following_url":"https://api.github.com/users/adriil/following{/other_user}","gists_url":"https://api.github.com/users/adriil/gists{/gist_id}","starred_url":"https://api.github.com/users/adriil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adriil/subscriptions","organizations_url":"https://api.github.com/users/adriil/orgs","repos_url":"https://api.github.com/users/adriil/repos","events_url":"https://api.github.com/users/adriil/events{/privacy}","received_events_url":"https://api.github.com/users/adriil/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-03-16T14:12:23Z","updated_at":"2018-03-19T10:09:28Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Hi !\r\n\r\nThis is more a proposal than an issue :)\r\n\r\nI needed to go through the expression tree in order to retrieve columns names (a kind of TableNamesFinder for columns), and I've found that someone already created the issue #472. I've followed the link and managed to have the perfect solution.\r\nHowever, I think having to extend TableNamesFinder is not smooth. What we really want by extending it is all the visitor engine. But because there's not such a (abstract) class, we extend TNF by default.\r\n\r\nSo I think it could be better to split TableNamesFinder in two classes : the first would be an AbstractFinder and will implement all visitor interfaces (what is already done by TNF), and the second would be a lighter TableNamesFinder which will extend AbstractFinder and override only what is needed to save tables names.\r\nPlus, this way, it could be easy to add a built-in ColumnNamesFinder extending AbstractFinder, or anything else you want to look for in the whole expression.\r\n\r\nBest regards."},"comment":{"url":"https://api.github.com/repos/JSQLParser/JSqlParser/issues/comments/374161234","html_url":"https://github.com/JSQLParser/JSqlParser/issues/591#issuecomment-374161234","issue_url":"https://api.github.com/repos/JSQLParser/JSqlParser/issues/591","id":374161234,"user":{"login":"wumpz","id":1569337,"avatar_url":"https://avatars1.githubusercontent.com/u/1569337?v=4","gravatar_id":"","url":"https://api.github.com/users/wumpz","html_url":"https://github.com/wumpz","followers_url":"https://api.github.com/users/wumpz/followers","following_url":"https://api.github.com/users/wumpz/following{/other_user}","gists_url":"https://api.github.com/users/wumpz/gists{/gist_id}","starred_url":"https://api.github.com/users/wumpz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wumpz/subscriptions","organizations_url":"https://api.github.com/users/wumpz/orgs","repos_url":"https://api.github.com/users/wumpz/repos","events_url":"https://api.github.com/users/wumpz/events{/privacy}","received_events_url":"https://api.github.com/users/wumpz/received_events","type":"User","site_admin":false},"created_at":"2018-03-19T10:09:28Z","updated_at":"2018-03-19T10:09:28Z","author_association":"OWNER","body":"Then you would again copy the method implementation and integrate your changes. I am unsure, what is the lesser problem."}}
{"actor":{"display_login":"wumpz"}}