{"action":"opened","issue":{"url":"https://api.github.com/repos/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/issues/4481","repository_url":"https://api.github.com/repos/tine20/Tine-2.0-Open-Source-Groupware-and-CRM","labels_url":"https://api.github.com/repos/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/issues/4481/labels{/name}","comments_url":"https://api.github.com/repos/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/issues/4481/comments","events_url":"https://api.github.com/repos/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/issues/4481/events","html_url":"https://github.com/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/issues/4481","id":330866625,"node_id":"MDU6SXNzdWUzMzA4NjY2MjU=","number":4481,"title":"0008914:\nAbstraction to improve queries","user":{"login":"Gloirin","id":24605609,"node_id":"MDQ6VXNlcjI0NjA1NjA5","avatar_url":"https://avatars1.githubusercontent.com/u/24605609?v=4","gravatar_id":"","url":"https://api.github.com/users/Gloirin","html_url":"https://github.com/Gloirin","followers_url":"https://api.github.com/users/Gloirin/followers","following_url":"https://api.github.com/users/Gloirin/following{/other_user}","gists_url":"https://api.github.com/users/Gloirin/gists{/gist_id}","starred_url":"https://api.github.com/users/Gloirin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gloirin/subscriptions","organizations_url":"https://api.github.com/users/Gloirin/orgs","repos_url":"https://api.github.com/users/Gloirin/repos","events_url":"https://api.github.com/users/Gloirin/events{/privacy}","received_events_url":"https://api.github.com/users/Gloirin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"Gloirin","id":24605609,"node_id":"MDQ6VXNlcjI0NjA1NjA5","avatar_url":"https://avatars1.githubusercontent.com/u/24605609?v=4","gravatar_id":"","url":"https://api.github.com/users/Gloirin","html_url":"https://github.com/Gloirin","followers_url":"https://api.github.com/users/Gloirin/followers","following_url":"https://api.github.com/users/Gloirin/following{/other_user}","gists_url":"https://api.github.com/users/Gloirin/gists{/gist_id}","starred_url":"https://api.github.com/users/Gloirin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gloirin/subscriptions","organizations_url":"https://api.github.com/users/Gloirin/orgs","repos_url":"https://api.github.com/users/Gloirin/repos","events_url":"https://api.github.com/users/Gloirin/events{/privacy}","received_events_url":"https://api.github.com/users/Gloirin/received_events","type":"User","site_admin":false},"assignees":[{"login":"Gloirin","id":24605609,"node_id":"MDQ6VXNlcjI0NjA1NjA5","avatar_url":"https://avatars1.githubusercontent.com/u/24605609?v=4","gravatar_id":"","url":"https://api.github.com/users/Gloirin","html_url":"https://github.com/Gloirin","followers_url":"https://api.github.com/users/Gloirin/followers","following_url":"https://api.github.com/users/Gloirin/following{/other_user}","gists_url":"https://api.github.com/users/Gloirin/gists{/gist_id}","starred_url":"https://api.github.com/users/Gloirin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gloirin/subscriptions","organizations_url":"https://api.github.com/users/Gloirin/orgs","repos_url":"https://api.github.com/users/Gloirin/repos","events_url":"https://api.github.com/users/Gloirin/events{/privacy}","received_events_url":"https://api.github.com/users/Gloirin/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/milestones/127","html_url":"https://github.com/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/milestone/127","labels_url":"https://api.github.com/repos/tine20/Tine-2.0-Open-Source-Groupware-and-CRM/milestones/127/labels","id":3410632,"node_id":"MDk6TWlsZXN0b25lMzQxMDYzMg==","number":127,"title":"Collin (2013.10.1~beta1)","description":null,"creator":{"login":"Gloirin","id":24605609,"node_id":"MDQ6VXNlcjI0NjA1NjA5","avatar_url":"https://avatars1.githubusercontent.com/u/24605609?v=4","gravatar_id":"","url":"https://api.github.com/users/Gloirin","html_url":"https://github.com/Gloirin","followers_url":"https://api.github.com/users/Gloirin/followers","following_url":"https://api.github.com/users/Gloirin/following{/other_user}","gists_url":"https://api.github.com/users/Gloirin/gists{/gist_id}","starred_url":"https://api.github.com/users/Gloirin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gloirin/subscriptions","organizations_url":"https://api.github.com/users/Gloirin/orgs","repos_url":"https://api.github.com/users/Gloirin/repos","events_url":"https://api.github.com/users/Gloirin/events{/privacy}","received_events_url":"https://api.github.com/users/Gloirin/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":137,"state":"closed","created_at":"2018-06-08T12:06:36Z","updated_at":"2018-06-09T08:35:19Z","due_on":null,"closed_at":"2018-06-08T12:06:36Z"},"comments":0,"created_at":"2018-06-09T08:35:19Z","updated_at":"2018-06-09T08:35:19Z","closed_at":null,"author_association":"NONE","body":"**Reported by fgsl on 12 Sep 2013 13:24**\n\n**Version:** git master\n\nThe purpose of this change is to create an abstraction for writing complex queries, like the abstraction for specific SQL functions that is available in Tinebase_Backend_Sql_Command. I think that we can have a *_Backend_Sql_Query for each application and use adapters for the query more optimized in each SQL dialect. So, we keep the independence of database but open the possibility for each database adapter reach more performance with their queries.\r\n\r\nSo, instead have the building of SQL directly in current backend classes, we turn to use parametrized methods and the SQL gets more abstracted.\r\n\n\n**Steps to reproduce:** There is a discussion about it and a sample in:\r\n\r\nhttps://www.tine20.org/forum/viewtopic.php?f=2&amp;t=15040\n"}}
{"actor":{"display_login":"Gloirin"}}