{"action":"created","issue":{"url":"https://api.github.com/repos/web2py/pydal/issues/408","repository_url":"https://api.github.com/repos/web2py/pydal","labels_url":"https://api.github.com/repos/web2py/pydal/issues/408/labels{/name}","comments_url":"https://api.github.com/repos/web2py/pydal/issues/408/comments","events_url":"https://api.github.com/repos/web2py/pydal/issues/408/events","html_url":"https://github.com/web2py/pydal/pull/408","id":172710275,"number":408,"title":"[WIP] Joinable subselects","user":{"login":"nextghost","id":1794396,"avatar_url":"https://avatars.githubusercontent.com/u/1794396?v=3","gravatar_id":"","url":"https://api.github.com/users/nextghost","html_url":"https://github.com/nextghost","followers_url":"https://api.github.com/users/nextghost/followers","following_url":"https://api.github.com/users/nextghost/following{/other_user}","gists_url":"https://api.github.com/users/nextghost/gists{/gist_id}","starred_url":"https://api.github.com/users/nextghost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nextghost/subscriptions","organizations_url":"https://api.github.com/users/nextghost/orgs","repos_url":"https://api.github.com/users/nextghost/repos","events_url":"https://api.github.com/users/nextghost/events{/privacy}","received_events_url":"https://api.github.com/users/nextghost/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":24,"created_at":"2016-08-23T14:13:20Z","updated_at":"2016-09-15T10:05:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/web2py/pydal/pulls/408","html_url":"https://github.com/web2py/pydal/pull/408","diff_url":"https://github.com/web2py/pydal/pull/408.diff","patch_url":"https://github.com/web2py/pydal/pull/408.patch"},"body":"# WORK IN PROGRESS, DO NOT MERGE YET!\r\n\r\nI'm opening this pull request early for design discussion. Unit tests for Python 2.7, 3.4 & 3.5 and SQLite, MySQL and PostgreSQL are passing on my machine but there's still work to do. Comments and suggestions are appreciated.\r\n\r\n## Design changes\r\n\r\n- Adapters and dialects must no longer resolve table names over and over through `DAL.__getitem__()`. They must pass Table/Select objects around.\r\n- New methods for class `Table`:\r\n  - `query_name()` - Full table name for query FROM clause, including possible alias.\r\n  - `query_alias()` - The appropriate string that identifies the table throughout a query (e.g. for building fully qualified field names).\r\n- `Rows.__init__()` now takes additional argument - list of `Field`/`Expression` objects corresponding to columns\r\n- `BaseAdapter._select()` now returns a `Select` object instead of string\r\n- `BaseAdapter.tables()` now returns a dict mapping table names to table objects instead of name list.\r\n- `BaseAdapter.common_filter()` now accepts table objects as well as table names.\r\n- many other `BaseAdapter` internal methods now take or return table objects instead of table names.\r\n\r\n## TODO list\r\n\r\n- [X] Refactor the rest of adapter and dialect code\r\n- [X] Add sanity checks where appropriate\r\n- [ ] Write unit tests for new code"},"comment":{"url":"https://api.github.com/repos/web2py/pydal/issues/comments/247288281","html_url":"https://github.com/web2py/pydal/pull/408#issuecomment-247288281","issue_url":"https://api.github.com/repos/web2py/pydal/issues/408","id":247288281,"user":{"login":"gi0baro","id":5019985,"avatar_url":"https://avatars.githubusercontent.com/u/5019985?v=3","gravatar_id":"","url":"https://api.github.com/users/gi0baro","html_url":"https://github.com/gi0baro","followers_url":"https://api.github.com/users/gi0baro/followers","following_url":"https://api.github.com/users/gi0baro/following{/other_user}","gists_url":"https://api.github.com/users/gi0baro/gists{/gist_id}","starred_url":"https://api.github.com/users/gi0baro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gi0baro/subscriptions","organizations_url":"https://api.github.com/users/gi0baro/orgs","repos_url":"https://api.github.com/users/gi0baro/repos","events_url":"https://api.github.com/users/gi0baro/events{/privacy}","received_events_url":"https://api.github.com/users/gi0baro/received_events","type":"User","site_admin":false},"created_at":"2016-09-15T10:05:53Z","updated_at":"2016-09-15T10:05:53Z","body":"@nextghost take your time. I'm quite busy too during this month, will update you with feedbacks as soon as I can review your changes completely."}}
{"actor":{"display_login":"gi0baro"}}