{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":220362473,"defaultBranch":"master","name":"trino-python-client","ownerLogin":"trinodb","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-11-08T01:34:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/34147222?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1708098434.0","currentOid":""},"activityList":{"items":[{"before":"00435d656309b388f5707ccb93aeee38cf5a8984","after":"b8ce27d4e2b4599c7fafbc733c67d071ab508885","ref":"refs/heads/master","pushedAt":"2024-03-26T11:40:34.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Switch to Python 3.12 in CI and release\n\nAt-least flake8 needs to be updated to work with Python 3.12, see\nhttps://github.com/PyCQA/flake8/issues/1845.\n\nWe take this chance to upgrade others to the latest versions as well.\n\nNewer flake8 flags some issues which are also fixed.","shortMessageHtmlLink":"Switch to Python 3.12 in CI and release"}},{"before":"42ef47c6e7d62325eaac9195f46e333e06f08d52","after":"00435d656309b388f5707ccb93aeee38cf5a8984","ref":"refs/heads/master","pushedAt":"2024-02-16T15:47:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Bump version to 0.328.0","shortMessageHtmlLink":"Bump version to 0.328.0"}},{"before":"d8b3b68f5ad1911d69ab0018cc71d41d2dba016c","after":"42ef47c6e7d62325eaac9195f46e333e06f08d52","ref":"refs/heads/master","pushedAt":"2024-02-16T15:38:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Release notes for 0.328.0","shortMessageHtmlLink":"Release notes for 0.328.0"}},{"before":"b8d3360687379873358e27b5bf191ef570446902","after":"d8b3b68f5ad1911d69ab0018cc71d41d2dba016c","ref":"refs/heads/master","pushedAt":"2024-02-16T11:25:06.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Cache OAuth access token per host and user pair","shortMessageHtmlLink":"Cache OAuth access token per host and user pair"}},{"before":"143b6d8e799749157c2bb3119a9c03c36fc98052","after":"b8d3360687379873358e27b5bf191ef570446902","ref":"refs/heads/master","pushedAt":"2024-02-16T11:13:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Add support for MAP type to SQLAlchemy dialect\n\nCo-authored-by: dudu butbul <100126964+dudu-upstream@users.noreply.github.com>\nCo-authored-by: Ashhar Hasan ","shortMessageHtmlLink":"Add support for MAP type to SQLAlchemy dialect"}},{"before":"b422f41332f11aad97bc6e15563056651023bac1","after":"143b6d8e799749157c2bb3119a9c03c36fc98052","ref":"refs/heads/master","pushedAt":"2024-02-07T19:31:25.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Add type hints to types module and enable mypy","shortMessageHtmlLink":"Add type hints to types module and enable mypy"}},{"before":"191cd79dd1f07e7c0eca47bec190c22c11e6d412","after":"b422f41332f11aad97bc6e15563056651023bac1","ref":"refs/heads/master","pushedAt":"2024-02-04T10:12:50.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Remove redundant code","shortMessageHtmlLink":"Remove redundant code"}},{"before":"ca38d2908533d891eedf5ee80f38dbdcfbbdb564","after":"191cd79dd1f07e7c0eca47bec190c22c11e6d412","ref":"refs/heads/master","pushedAt":"2024-01-31T11:48:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Add support for 'None' on response data","shortMessageHtmlLink":"Add support for 'None' on response data"}},{"before":"57313297b964e10e929feeeb22ed3538c146cec0","after":"ca38d2908533d891eedf5ee80f38dbdcfbbdb564","ref":"refs/heads/master","pushedAt":"2024-01-24T07:13:18.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Add explicit value mappers for string types","shortMessageHtmlLink":"Add explicit value mappers for string types"}},{"before":"806ab1fe2da84cd770185e07f5eab49bb6c90d2a","after":"57313297b964e10e929feeeb22ed3538c146cec0","ref":"refs/heads/master","pushedAt":"2024-01-23T06:48:57.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Reorder value mappers\n\nThis makes it easier to identify missing types for example.","shortMessageHtmlLink":"Reorder value mappers"}},{"before":"b5225e5b7245c3bde36803482369e69957a35f6f","after":"806ab1fe2da84cd770185e07f5eab49bb6c90d2a","ref":"refs/heads/master","pushedAt":"2024-01-19T09:38:20.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Drop support for end-of-life Python 3.7 and PyPy 3.8\n\nSee https://devguide.python.org/versions/ and https://www.pypy.org/ for\ncurrently supported versions.","shortMessageHtmlLink":"Drop support for end-of-life Python 3.7 and PyPy 3.8"}},{"before":"2a60ac97852ed567a65070e4fc823f673dadeaf8","after":"b5225e5b7245c3bde36803482369e69957a35f6f","ref":"refs/heads/master","pushedAt":"2024-01-18T11:17:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Add support for IGNORE NULLS in window functions in SQLAlchemy\n\nAdd a generic function compiler to handle IGNORE NULLS in window\nfunctions.","shortMessageHtmlLink":"Add support for IGNORE NULLS in window functions in SQLAlchemy"}},{"before":"9df2cf2756d9bb189de719a80623064acfe65dea","after":"2a60ac97852ed567a65070e4fc823f673dadeaf8","ref":"refs/heads/master","pushedAt":"2023-12-27T09:08:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Only set log level for the root logger\n\nBefore this change we called `setLevel` on each logger with level set to\nINFO. This meant that it was not possible to change log level for all\nchild modules by doing something like\n`logging.getLogger('trino').setLevel(logging.DEBUG)` because the child\nloggers had explicit levels set already. It instead required us to\nchange log levels for each module (`trino.client`, `trino.dbapi`,\n`trino.auth` etc.) separately.\n\nAfter this change only the root logger `trino` has a default level set.\nOther child loggers inherit from it. So now the default log level for\nall modules can be changed by doing\n`logging.getLogger('trino').setLevel(logging.DEBUG)` for example.","shortMessageHtmlLink":"Only set log level for the root logger"}},{"before":"ab0e596ef21561c0b10686c24e4a8eb1f645cd58","after":"9df2cf2756d9bb189de719a80623064acfe65dea","ref":"refs/heads/master","pushedAt":"2023-12-22T09:32:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Suppress failure when reading $partitions system table in get_indexes\n\nNot all connectors have a `$partitions` table. This caused `get_indexes`\nto fail when called on a non-Hive (or non-partitioned Hive) table.\n\nSince Trino engine doesn't have concept of partitions there's no single\nway to fetch partition columns. One option is to parse the output of\n`SHOW CREATE TABLE` to identify them but the logic would differ based on\nwhat connector is being used. So we just opt to suppress the failure in\ncase of a non-Hive or non-partitioned Hive table instead.","shortMessageHtmlLink":"Suppress failure when reading $partitions system table in get_indexes"}},{"before":"86ed4da51094ed52a747dc64168ee2394dc91878","after":"ab0e596ef21561c0b10686c24e4a8eb1f645cd58","ref":"refs/heads/master","pushedAt":"2023-12-22T09:22:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Fix JSON support in SQLAlchemy","shortMessageHtmlLink":"Fix JSON support in SQLAlchemy"}},{"before":"f99ef245f28b4e1784a829b7935a31d0215ace4d","after":"86ed4da51094ed52a747dc64168ee2394dc91878","ref":"refs/heads/master","pushedAt":"2023-12-22T09:20:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Fix closing cursor with no previously running query","shortMessageHtmlLink":"Fix closing cursor with no previously running query"}},{"before":"e4249f48402d1b9dfc585f19bd854d21ae12e6dd","after":"f99ef245f28b4e1784a829b7935a31d0215ace4d","ref":"refs/heads/master","pushedAt":"2023-11-03T04:24:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Check cursor _query is None","shortMessageHtmlLink":"Check cursor _query is None"}},{"before":"2d2888bf2fe873a3e217adce784764d77cea4202","after":"e4249f48402d1b9dfc585f19bd854d21ae12e6dd","ref":"refs/heads/master","pushedAt":"2023-10-13T12:00:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Fix fetchall returning already returned rows\n\nIf fetchall was called after fetching some rows already via either\r\nfetchmany or fetchone then some rows were duplicated.\r\n\r\n cur = conn.cursor()\r\n cur.execute(\"SELECT * FROM ( VALUES (1), (2), (3), (4), (5), (6))\")\r\n print(cur.fetchmany(2))\r\n print(cur.fetchall()) # should return 4 rows but returns all rows\r\n print(cur.fetchmany(10)) # should return no rows but returns next 4 rows","shortMessageHtmlLink":"Fix fetchall returning already returned rows"}},{"before":"fb54dbcdde6f418b3b4e7902ca44195f5e4be615","after":"2d2888bf2fe873a3e217adce784764d77cea4202","ref":"refs/heads/master","pushedAt":"2023-09-29T09:58:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Bump version to 0.327.0","shortMessageHtmlLink":"Bump version to 0.327.0"}},{"before":"1d6dd087ea85c38ace6dae132921793508023fb3","after":null,"ref":"refs/heads/release-notes","pushedAt":"2023-09-29T09:37:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"}},{"before":"f872945d7f2f0b731abad6b373e2bb2a421b57e2","after":"fb54dbcdde6f418b3b4e7902ca44195f5e4be615","ref":"refs/heads/master","pushedAt":"2023-09-29T09:37:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Release notes for 0.327.0","shortMessageHtmlLink":"Release notes for 0.327.0"}},{"before":"68d310302a1245a6cd5f40445b1d134613ff9bdb","after":"1d6dd087ea85c38ace6dae132921793508023fb3","ref":"refs/heads/release-notes","pushedAt":"2023-09-29T07:48:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Release notes for 0.327.0","shortMessageHtmlLink":"Release notes for 0.327.0"}},{"before":null,"after":"68d310302a1245a6cd5f40445b1d134613ff9bdb","ref":"refs/heads/release-notes","pushedAt":"2023-09-29T07:17:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Release notes for 0.327.0","shortMessageHtmlLink":"Release notes for 0.327.0"}},{"before":"d9d46b0d1cc54cbcaa57222fc55729d997697cc7","after":"f872945d7f2f0b731abad6b373e2bb2a421b57e2","ref":"refs/heads/master","pushedAt":"2023-09-27T14:16:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"add markdown long description\n\nupdate README.md intro","shortMessageHtmlLink":"add markdown long description"}},{"before":"0584c938a194e634a6e8ed50e63360e7a000f743","after":"d9d46b0d1cc54cbcaa57222fc55729d997697cc7","ref":"refs/heads/master","pushedAt":"2023-09-22T08:20:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Use OAuth2 if externalAuthentication is present in connection url\n\nAfter this change if 'externalAuthentication' is passed as a parameter\non the connection url we automatically set `http_schema` to `http` and\nuse `OAuth2Authentication`.","shortMessageHtmlLink":"Use OAuth2 if externalAuthentication is present in connection url"}},{"before":"31febefd44a03dd75c175fbda6033ec5d7522c98","after":"0584c938a194e634a6e8ed50e63360e7a000f743","ref":"refs/heads/master","pushedAt":"2023-09-20T16:43:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"add Trino Python Client version to user agent","shortMessageHtmlLink":"add Trino Python Client version to user agent"}},{"before":"d6dee794eeecf59ab5725671094ec7e5aa741fff","after":"31febefd44a03dd75c175fbda6033ec5d7522c98","ref":"refs/heads/master","pushedAt":"2023-09-20T12:48:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Refactor setup.py to avoid cyclic dependency on trino.__version__\n\n__version__ is defined in __init__.py in trino module which means that\nwe cannot easily use the module version in the library code because it\nintroduces a cyclic dependency.\n\nThis change introduces a _version.py which also includes other\nmeta-information and changes setup.py to read those values from there\ninstead of inline.\n\nThe release script is also updated since the version now needs to be\nupdated in a different file.","shortMessageHtmlLink":"Refactor setup.py to avoid cyclic dependency on trino.__version__"}},{"before":"f98a608601f5ba88fa4ba024394d241d4f5921b2","after":"d6dee794eeecf59ab5725671094ec7e5aa741fff","ref":"refs/heads/master","pushedAt":"2023-09-13T05:10:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Update SQLAlchemy compatibility section","shortMessageHtmlLink":"Update SQLAlchemy compatibility section"}},{"before":"47bbdd8d1cfd1b5dc0dea0fe9e915aeff769639d","after":"f98a608601f5ba88fa4ba024394d241d4f5921b2","ref":"refs/heads/master","pushedAt":"2023-08-31T09:24:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"implement `get_catalog_names`\n\nSigned-off-by: Đặng Minh Dũng ","shortMessageHtmlLink":"implement get_catalog_names"}},{"before":"6eaef4b74c4baefce44f8196afae64290d6b4ca2","after":"47bbdd8d1cfd1b5dc0dea0fe9e915aeff769639d","ref":"refs/heads/master","pushedAt":"2023-08-28T15:22:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hashhar","name":"Ashhar Hasan","path":"/hashhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10473142?s=80&v=4"},"commit":{"message":"Wrap all requests.exceptions.RequestException as TrinoConnectionError\n\nBefore this change if a user needed to catch connection errors (e.g.\nconnection refused) they needed to add a dependency on requests and\nimport the relevant exception from requests.exceptions module.\n\nAfter this change all requests exception get rethrown as a\nTrinoConnectionError instead.","shortMessageHtmlLink":"Wrap all requests.exceptions.RequestException as TrinoConnectionError"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEH41CKQA","startCursor":null,"endCursor":null}},"title":"Activity · trinodb/trino-python-client"}