{"action":"created","comment":{"url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/comments/221823983","pull_request_review_id":160564625,"id":221823983,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMTgyMzk4Mw==","diff_hunk":"@@ -1,90 +1,214 @@\n # How To Develop and Test a Dialect\n This page describes how you can develop and semi-automatically test a dialect for the JDBC adapter. The framework for testing a dialect is still work in progress.\n \n-# Content\n-* [How To Develop a Dialect](#how-to-develop-a-dialect)\n-* [How To Start Integration Tests](#how-to-start-integration-tests)\n+## Content\n+\n+* [Developing a Dialect](#developing-a-dialect)\n+* [Integration Testing](#integration-testing)\n+\n+## Developing a Dialect\n \n-## How To Develop a Dialect\n You can implement a dialect by implementing the interface `com.exasol.adapter.dialects.SqlDialect`.\n-We recommend to look at the following ressources to get started:\n+We recommend to look at the following resources to get started:\n+\n * First have a look at the [SqlDialect interface source code](../virtualschema-jdbc-adapter/src/main/java/com/exasol/adapter/dialects/SqlDialect.java). You can start with the comments of the interface and have a look at the methods you can override.\n * Second you can review the source code of one of the [dialect implementations](../virtualschema-jdbc-adapter/src/main/java/com/exasol/adapter/dialects/impl) as an inspiration. Ideally you should look at the dialect which is closest to your data source.\n \n To implement a full dialect for a typical data source you have to run all of the following steps. We recommend to follow the order proposed here.\n \n+### Registering the Dialect\n+\n+The Virtual Schema adapter creates an instance of an SQL dialect on demand. You can pick any dialect that is listed in the `SqlDialects` registry.\n+\n+To register your new dialect add it to the list in [sql_dialects.properties](../virtualschema-jdbc-adapter/src/main/resources/sql_dialects.properties]).\n+\n+```properties\n+com.exasol.adapter.dialects.supported=\\\n+...\n+com.exasol.adapter.dialects.impl.MyAweSomeSqlDialect\n+```\n+\n+For tests or in case you want to exclude existing dialects in certain scenarios you can override the contents of this file by setting the system property `com.exasol.adapter.dialects.supported`.\n+\n ### Setup Data Source\n+\n * Setup and start the database\n * Testdata: Create a test schema with a simple table (simple data types)\n \n ### Setup EXASOL\n+\n * Setup and start an EXASOL database with virtual schemas feature\n * Upload the JDBC drivers of the data source via EXAOperation\n * Manual test: query data from the data source via `IMPORT FROM JDBC`\n \n ### Catalog, Schema & Table Mapping\n+\n * Override the `SqlDialect` methods for catalog, schema and table mapping\n * Manual test: create a virtual schema by specifying the catalog and/or schema.\n \n ### Data Type Mapping\n+\n * Testdata: Create a table with all data types and at least one row of data\n * Override the `SqlDialect` method for data type mapping\n * Automatic test: sys tables show virtual table and columns with correctly mapped type\n * Automatic test: running `SELECT` on the virtual table returns the expected result\n \n ### Identifier Case Handling & Quoting\n+\n * Testdata: Create a schema/table/column with mixed case (if supported)\n * Automatic test: sys tables correct\n * Automatic test: `SELECT` works as expected\n \n ### Projection Capability\n+\n * Add capability\n * Automatic test: pushed down & correct result (incl. `EXPLAIN VIRTUAL`). Also test with mixed case columns.\n \n ### Predicates and Literal Capabilities\n+\n * Add capabilities for supported literals and predicates (e.g. `c1='foo'`)\n * Automatic test: pushed down & correct result (incl. `EXPLAIN VIRTUAL`) for all predicates & literals\n \n ### Aggregation & Set Function Capabilities\n+\n * Add capabilities for aggregations and aggregation functions\n * Automatic test: pushed down & correct result (incl. `EXPLAIN VIRTUAL`) for all set functions\n \n ### Order By / Limit Capabilities\n+\n * Testdata: Create a table with null values and non-null values, to check null collation.\n * Add capabilities for order by and/or limit\n * Automatic test: pushed down & correct result (incl. `EXPLAIN VIRTUAL`)\n * Automatic test: default null collation, explicit `NULLS FIRST/LAST`\n \n ### Scalar Function Capabilities\n+\n * Add capabilities for scalar functions\n * Automatic test: pushed down & correct result (incl. `EXPLAIN VIRTUAL`)\n \n ### Views\n+\n * Testdata: Create a simple view, e.g. joining two existing tables\n * Automatic test: Query the view, optionally e.g. with a filter.\n \n+## Integration Testing\n+\n+### Security considerations\n+\n+Please note that in the course of the integration tests you need to provide the test framework with access rights and credentials to the source database. \n+\n+In order not to create security issues:\n+\n+* Make sure the data in the source database is not confidential (demo data only)\n+* Don't reuse credentials\n+* Don't check in credentials\n+\n+### Prerequisites\n+\n+* Exasol running\n+* Exasol accessible from within integration test environment\n+* Source database running\n+* Source database accessible from within integration test environment\n+* Test data loaded into source database\n+* [BucketFS HTTP port listening and reachable](https://www.exasol.com/support/browse/SOL-503?src=confmacro)\n+\n+  ![BucketFS on port 2580](images/Screenshot_BucketFS_default_service.png)\n+  \n+* Bucket on BucketFS prepared for holding JDBC drivers and virtual schema adapter\n+\n+  ![Integration test bucket](images/Screenshot_bucket_for_JARs.png)\n+\n+* JDBC driver JAR archives available for databases against which to run integration tests\n+\n+If BucketFS is new to you, there are nice [training videos on BucketFS](https://www.exasol.com/portal/display/TRAINING/BucketFS) available.\n+\n+### Preparing Integration Test\n \n-## How To Start Integration Tests\n-We assume that you have a running EXASOL and data source database with all required test tables.\n+1. Create a dedicated user in the source database that has the necessary access privileges \n+2. Create credentials for the user with which ","path":"jdbc-adapter/doc/develop-dialect.md","position":135,"original_position":135,"commit_id":"32fa4928223197376ee48fbf66e911cbf42bb9aa","original_commit_id":"32fa4928223197376ee48fbf66e911cbf42bb9aa","user":{"login":"redcatbear","id":584162,"node_id":"MDQ6VXNlcjU4NDE2Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/584162?v=4","gravatar_id":"","url":"https://api.github.com/users/redcatbear","html_url":"https://github.com/redcatbear","followers_url":"https://api.github.com/users/redcatbear/followers","following_url":"https://api.github.com/users/redcatbear/following{/other_user}","gists_url":"https://api.github.com/users/redcatbear/gists{/gist_id}","starred_url":"https://api.github.com/users/redcatbear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redcatbear/subscriptions","organizations_url":"https://api.github.com/users/redcatbear/orgs","repos_url":"https://api.github.com/users/redcatbear/repos","events_url":"https://api.github.com/users/redcatbear/events{/privacy}","received_events_url":"https://api.github.com/users/redcatbear/received_events","type":"User","site_admin":false},"body":"Fixed.","created_at":"2018-10-02T04:44:05Z","updated_at":"2018-10-02T04:52:35Z","html_url":"https://github.com/EXASOL/virtual-schemas/pull/31#discussion_r221823983","pull_request_url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/comments/221823983"},"html":{"href":"https://github.com/EXASOL/virtual-schemas/pull/31#discussion_r221823983"},"pull_request":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31"}},"in_reply_to_id":221700993},"pull_request":{"url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31","id":213885150,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEzODg1MTUw","html_url":"https://github.com/EXASOL/virtual-schemas/pull/31","diff_url":"https://github.com/EXASOL/virtual-schemas/pull/31.diff","patch_url":"https://github.com/EXASOL/virtual-schemas/pull/31.patch","issue_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/31","number":31,"state":"open","locked":false,"title":"Feature/pmi 69 invert dialect dependencies","user":{"login":"redcatbear","id":584162,"node_id":"MDQ6VXNlcjU4NDE2Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/584162?v=4","gravatar_id":"","url":"https://api.github.com/users/redcatbear","html_url":"https://github.com/redcatbear","followers_url":"https://api.github.com/users/redcatbear/followers","following_url":"https://api.github.com/users/redcatbear/following{/other_user}","gists_url":"https://api.github.com/users/redcatbear/gists{/gist_id}","starred_url":"https://api.github.com/users/redcatbear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redcatbear/subscriptions","organizations_url":"https://api.github.com/users/redcatbear/orgs","repos_url":"https://api.github.com/users/redcatbear/repos","events_url":"https://api.github.com/users/redcatbear/events{/privacy}","received_events_url":"https://api.github.com/users/redcatbear/received_events","type":"User","site_admin":false},"body":"@andrehacker please review the changes.\r\n\r\nOverview:\r\n* Changed dialects registry to have fewer coupling\r\n* Externalized list of dialects to property file\r\n* Improved test coverage for dialects registry\r\n* Improved logging\r\n* Introduced logging parameter in `CREATE VIRTUAL SCHEMA` command\r\n* Improve documentation\r\n* Moved public static NAME in dialects to public static method (cleaner than exposing a constant - even if not by much)\r\n* Some refactoring to remove warnings\r\n* Removed dead code where I found it\r\n* Improved Travis script for integration testing","created_at":"2018-09-07T10:29:59Z","updated_at":"2018-10-02T04:52:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b3f78c7a4ea4b1319fab99b08cac18673323a4ac","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31/commits","review_comments_url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31/comments","review_comment_url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/comments{/number}","comments_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/31/comments","statuses_url":"https://api.github.com/repos/EXASOL/virtual-schemas/statuses/32fa4928223197376ee48fbf66e911cbf42bb9aa","head":{"label":"EXASOL:feature/PMI-69_Invert_dialect_dependencies","ref":"feature/PMI-69_Invert_dialect_dependencies","sha":"32fa4928223197376ee48fbf66e911cbf42bb9aa","user":{"login":"EXASOL","id":7056459,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwNTY0NTk=","avatar_url":"https://avatars1.githubusercontent.com/u/7056459?v=4","gravatar_id":"","url":"https://api.github.com/users/EXASOL","html_url":"https://github.com/EXASOL","followers_url":"https://api.github.com/users/EXASOL/followers","following_url":"https://api.github.com/users/EXASOL/following{/other_user}","gists_url":"https://api.github.com/users/EXASOL/gists{/gist_id}","starred_url":"https://api.github.com/users/EXASOL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EXASOL/subscriptions","organizations_url":"https://api.github.com/users/EXASOL/orgs","repos_url":"https://api.github.com/users/EXASOL/repos","events_url":"https://api.github.com/users/EXASOL/events{/privacy}","received_events_url":"https://api.github.com/users/EXASOL/received_events","type":"Organization","site_admin":false},"repo":{"id":70162332,"node_id":"MDEwOlJlcG9zaXRvcnk3MDE2MjMzMg==","name":"virtual-schemas","full_name":"EXASOL/virtual-schemas","private":false,"owner":{"login":"EXASOL","id":7056459,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwNTY0NTk=","avatar_url":"https://avatars1.githubusercontent.com/u/7056459?v=4","gravatar_id":"","url":"https://api.github.com/users/EXASOL","html_url":"https://github.com/EXASOL","followers_url":"https://api.github.com/users/EXASOL/followers","following_url":"https://api.github.com/users/EXASOL/following{/other_user}","gists_url":"https://api.github.com/users/EXASOL/gists{/gist_id}","starred_url":"https://api.github.com/users/EXASOL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EXASOL/subscriptions","organizations_url":"https://api.github.com/users/EXASOL/orgs","repos_url":"https://api.github.com/users/EXASOL/repos","events_url":"https://api.github.com/users/EXASOL/events{/privacy}","received_events_url":"https://api.github.com/users/EXASOL/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/EXASOL/virtual-schemas","description":"Main repository for the EXASOL virtual schemas framework (including the JDBC adapter)","fork":false,"url":"https://api.github.com/repos/EXASOL/virtual-schemas","forks_url":"https://api.github.com/repos/EXASOL/virtual-schemas/forks","keys_url":"https://api.github.com/repos/EXASOL/virtual-schemas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EXASOL/virtual-schemas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EXASOL/virtual-schemas/teams","hooks_url":"https://api.github.com/repos/EXASOL/virtual-schemas/hooks","issue_events_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/events{/number}","events_url":"https://api.github.com/repos/EXASOL/virtual-schemas/events","assignees_url":"https://api.github.com/repos/EXASOL/virtual-schemas/assignees{/user}","branches_url":"https://api.github.com/repos/EXASOL/virtual-schemas/branches{/branch}","tags_url":"https://api.github.com/repos/EXASOL/virtual-schemas/tags","blobs_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/refs{/sha}","trees_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EXASOL/virtual-schemas/statuses/{sha}","languages_url":"https://api.github.com/repos/EXASOL/virtual-schemas/languages","stargazers_url":"https://api.github.com/repos/EXASOL/virtual-schemas/stargazers","contributors_url":"https://api.github.com/repos/EXASOL/virtual-schemas/contributors","subscribers_url":"https://api.github.com/repos/EXASOL/virtual-schemas/subscribers","subscription_url":"https://api.github.com/repos/EXASOL/virtual-schemas/subscription","commits_url":"https://api.github.com/repos/EXASOL/virtual-schemas/commits{/sha}","git_commits_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/commits{/sha}","comments_url":"https://api.github.com/repos/EXASOL/virtual-schemas/comments{/number}","issue_comment_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/comments{/number}","contents_url":"https://api.github.com/repos/EXASOL/virtual-schemas/contents/{+path}","compare_url":"https://api.github.com/repos/EXASOL/virtual-schemas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EXASOL/virtual-schemas/merges","archive_url":"https://api.github.com/repos/EXASOL/virtual-schemas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EXASOL/virtual-schemas/downloads","issues_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues{/number}","pulls_url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls{/number}","milestones_url":"https://api.github.com/repos/EXASOL/virtual-schemas/milestones{/number}","notifications_url":"https://api.github.com/repos/EXASOL/virtual-schemas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EXASOL/virtual-schemas/labels{/name}","releases_url":"https://api.github.com/repos/EXASOL/virtual-schemas/releases{/id}","deployments_url":"https://api.github.com/repos/EXASOL/virtual-schemas/deployments","created_at":"2016-10-06T14:34:42Z","updated_at":"2018-10-02T04:36:32Z","pushed_at":"2018-10-02T04:36:30Z","git_url":"git://github.com/EXASOL/virtual-schemas.git","ssh_url":"git@github.com:EXASOL/virtual-schemas.git","clone_url":"https://github.com/EXASOL/virtual-schemas.git","svn_url":"https://github.com/EXASOL/virtual-schemas","homepage":"http://www.exasol.com","size":499,"stargazers_count":9,"watchers_count":9,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":13,"mirror_url":null,"archived":false,"open_issues_count":5,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":13,"open_issues":5,"watchers":9,"default_branch":"develop"}},"base":{"label":"EXASOL:develop","ref":"develop","sha":"9d4a955f21ac4fbbb147d23858912636cc323714","user":{"login":"EXASOL","id":7056459,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwNTY0NTk=","avatar_url":"https://avatars1.githubusercontent.com/u/7056459?v=4","gravatar_id":"","url":"https://api.github.com/users/EXASOL","html_url":"https://github.com/EXASOL","followers_url":"https://api.github.com/users/EXASOL/followers","following_url":"https://api.github.com/users/EXASOL/following{/other_user}","gists_url":"https://api.github.com/users/EXASOL/gists{/gist_id}","starred_url":"https://api.github.com/users/EXASOL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EXASOL/subscriptions","organizations_url":"https://api.github.com/users/EXASOL/orgs","repos_url":"https://api.github.com/users/EXASOL/repos","events_url":"https://api.github.com/users/EXASOL/events{/privacy}","received_events_url":"https://api.github.com/users/EXASOL/received_events","type":"Organization","site_admin":false},"repo":{"id":70162332,"node_id":"MDEwOlJlcG9zaXRvcnk3MDE2MjMzMg==","name":"virtual-schemas","full_name":"EXASOL/virtual-schemas","private":false,"owner":{"login":"EXASOL","id":7056459,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwNTY0NTk=","avatar_url":"https://avatars1.githubusercontent.com/u/7056459?v=4","gravatar_id":"","url":"https://api.github.com/users/EXASOL","html_url":"https://github.com/EXASOL","followers_url":"https://api.github.com/users/EXASOL/followers","following_url":"https://api.github.com/users/EXASOL/following{/other_user}","gists_url":"https://api.github.com/users/EXASOL/gists{/gist_id}","starred_url":"https://api.github.com/users/EXASOL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EXASOL/subscriptions","organizations_url":"https://api.github.com/users/EXASOL/orgs","repos_url":"https://api.github.com/users/EXASOL/repos","events_url":"https://api.github.com/users/EXASOL/events{/privacy}","received_events_url":"https://api.github.com/users/EXASOL/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/EXASOL/virtual-schemas","description":"Main repository for the EXASOL virtual schemas framework (including the JDBC adapter)","fork":false,"url":"https://api.github.com/repos/EXASOL/virtual-schemas","forks_url":"https://api.github.com/repos/EXASOL/virtual-schemas/forks","keys_url":"https://api.github.com/repos/EXASOL/virtual-schemas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EXASOL/virtual-schemas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EXASOL/virtual-schemas/teams","hooks_url":"https://api.github.com/repos/EXASOL/virtual-schemas/hooks","issue_events_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/events{/number}","events_url":"https://api.github.com/repos/EXASOL/virtual-schemas/events","assignees_url":"https://api.github.com/repos/EXASOL/virtual-schemas/assignees{/user}","branches_url":"https://api.github.com/repos/EXASOL/virtual-schemas/branches{/branch}","tags_url":"https://api.github.com/repos/EXASOL/virtual-schemas/tags","blobs_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/refs{/sha}","trees_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EXASOL/virtual-schemas/statuses/{sha}","languages_url":"https://api.github.com/repos/EXASOL/virtual-schemas/languages","stargazers_url":"https://api.github.com/repos/EXASOL/virtual-schemas/stargazers","contributors_url":"https://api.github.com/repos/EXASOL/virtual-schemas/contributors","subscribers_url":"https://api.github.com/repos/EXASOL/virtual-schemas/subscribers","subscription_url":"https://api.github.com/repos/EXASOL/virtual-schemas/subscription","commits_url":"https://api.github.com/repos/EXASOL/virtual-schemas/commits{/sha}","git_commits_url":"https://api.github.com/repos/EXASOL/virtual-schemas/git/commits{/sha}","comments_url":"https://api.github.com/repos/EXASOL/virtual-schemas/comments{/number}","issue_comment_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/comments{/number}","contents_url":"https://api.github.com/repos/EXASOL/virtual-schemas/contents/{+path}","compare_url":"https://api.github.com/repos/EXASOL/virtual-schemas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EXASOL/virtual-schemas/merges","archive_url":"https://api.github.com/repos/EXASOL/virtual-schemas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EXASOL/virtual-schemas/downloads","issues_url":"https://api.github.com/repos/EXASOL/virtual-schemas/issues{/number}","pulls_url":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls{/number}","milestones_url":"https://api.github.com/repos/EXASOL/virtual-schemas/milestones{/number}","notifications_url":"https://api.github.com/repos/EXASOL/virtual-schemas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EXASOL/virtual-schemas/labels{/name}","releases_url":"https://api.github.com/repos/EXASOL/virtual-schemas/releases{/id}","deployments_url":"https://api.github.com/repos/EXASOL/virtual-schemas/deployments","created_at":"2016-10-06T14:34:42Z","updated_at":"2018-10-02T04:36:32Z","pushed_at":"2018-10-02T04:36:30Z","git_url":"git://github.com/EXASOL/virtual-schemas.git","ssh_url":"git@github.com:EXASOL/virtual-schemas.git","clone_url":"https://github.com/EXASOL/virtual-schemas.git","svn_url":"https://github.com/EXASOL/virtual-schemas","homepage":"http://www.exasol.com","size":499,"stargazers_count":9,"watchers_count":9,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":13,"mirror_url":null,"archived":false,"open_issues_count":5,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":13,"open_issues":5,"watchers":9,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31"},"html":{"href":"https://github.com/EXASOL/virtual-schemas/pull/31"},"issue":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/31"},"comments":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/issues/31/comments"},"review_comments":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31/comments"},"review_comment":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/pulls/31/commits"},"statuses":{"href":"https://api.github.com/repos/EXASOL/virtual-schemas/statuses/32fa4928223197376ee48fbf66e911cbf42bb9aa"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"redcatbear"}}