{"action":"created","comment":{"url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/comments/81030147","pull_request_review_id":2041027,"id":81030147,"diff_hunk":"@@ -21,7 +21,7 @@\n     ]\n   },\n   \"dependencies\": {\n-    \"SQLite\": \"3.12.2\",\n+    \"SQLitePCLRaw.bundle_e_sqlite3\": \"1.1.0-pre20160928150051\",","path":"src/Microsoft.Data.Sqlite/project.json","position":5,"original_position":5,"commit_id":"8560c9d39dc1f92f1ddbfd67450a526584ba4943","original_commit_id":"8560c9d39dc1f92f1ddbfd67450a526584ba4943","user":{"login":"bricelam","id":1226749,"avatar_url":"https://avatars.githubusercontent.com/u/1226749?v=3","gravatar_id":"","url":"https://api.github.com/users/bricelam","html_url":"https://github.com/bricelam","followers_url":"https://api.github.com/users/bricelam/followers","following_url":"https://api.github.com/users/bricelam/following{/other_user}","gists_url":"https://api.github.com/users/bricelam/gists{/gist_id}","starred_url":"https://api.github.com/users/bricelam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bricelam/subscriptions","organizations_url":"https://api.github.com/users/bricelam/orgs","repos_url":"https://api.github.com/users/bricelam/repos","events_url":"https://api.github.com/users/bricelam/events{/privacy}","received_events_url":"https://api.github.com/users/bricelam/received_events","type":"User","site_admin":false},"body":"How would the consumer swap this out for another one?","created_at":"2016-09-28T22:19:56Z","updated_at":"2016-09-28T22:19:56Z","html_url":"https://github.com/aspnet/Microsoft.Data.Sqlite/pull/292#discussion_r81030147","pull_request_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292","_links":{"self":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/comments/81030147"},"html":{"href":"https://github.com/aspnet/Microsoft.Data.Sqlite/pull/292#discussion_r81030147"},"pull_request":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292"}}},"pull_request":{"url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292","id":87205253,"html_url":"https://github.com/aspnet/Microsoft.Data.Sqlite/pull/292","diff_url":"https://github.com/aspnet/Microsoft.Data.Sqlite/pull/292.diff","patch_url":"https://github.com/aspnet/Microsoft.Data.Sqlite/pull/292.patch","issue_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/issues/292","number":292,"state":"open","locked":false,"title":"experimental: switch to SQLitePCL.raw","user":{"login":"ericsink","id":3877005,"avatar_url":"https://avatars.githubusercontent.com/u/3877005?v=3","gravatar_id":"","url":"https://api.github.com/users/ericsink","html_url":"https://github.com/ericsink","followers_url":"https://api.github.com/users/ericsink/followers","following_url":"https://api.github.com/users/ericsink/following{/other_user}","gists_url":"https://api.github.com/users/ericsink/gists{/gist_id}","starred_url":"https://api.github.com/users/ericsink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericsink/subscriptions","organizations_url":"https://api.github.com/users/ericsink/orgs","repos_url":"https://api.github.com/users/ericsink/repos","events_url":"https://api.github.com/users/ericsink/events{/privacy}","received_events_url":"https://api.github.com/users/ericsink/received_events","type":"User","site_admin":false},"body":"I consider this more of an FYI than a literal pull request.  \r\n\r\nAs a proof of concept, I deleted most of the stuff under Interop, added a reference to SQLitePCL.raw, remapped NativeMethods/Sqlite3Handle/Sqlite3StmtHandle, fixed a few things, and it *basically* works.\r\n\r\nI realize that taking a dep on a community open source package like SQLitePCL.raw would be a risk and a big decision.  I'm not pushing for that.  I'm just pleased that it seems to work.\r\n\r\nIn part, I am looking toward possibilities of an ADO.NET style SQLite API (or maybe even EF Core) on iOS and Android.  Building on SQLitePCL.raw makes that straightforward.  It also provides a path toward things like custom SQLite builds, or swapping the SQLite library for something like SQLCipher.  \r\n\r\nIn a nutshell, this approach would allow Microsoft.Data.Sqlite to not care about the specific instance of the native SQLite library.  You could just target, say, netstandard1.1 and let SQLitePCL.raw deal with all the drama of Xamarin pinvokes.\r\n\r\nMy original commit message:\r\n\r\nexperimental idea.  change Microsoft.Data.Sqlite to build on top of SQLitePCL.raw.  this was mostly done by putting 'using NativeMethods = SQLitePCL.raw;' (and similar for Sqlite3Handle and Sqlite3StmtHandle) at the top of source files.  a few other minor code changes were necessary as well.  plus a couple of new things in SQLitePCL.raw itself, now planned for the 1.1.x release of same.  ability to use winsqlite3.dll removed, as this capability is built-into and handled-by SQLitePCL.raw.  this makes it possible for Microsoft.Data.Sqlite to no longer care about which particular instance of the SQLite library is being used.  most tests pass.  3 test failures.  2 of them look irrelevant, 1 needs further investigation.","created_at":"2016-09-28T21:28:39Z","updated_at":"2016-09-28T22:19:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"106eede190000674e2695ce3240ea5defe3a155f","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292/commits","review_comments_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292/comments","review_comment_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/issues/292/comments","statuses_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/statuses/8560c9d39dc1f92f1ddbfd67450a526584ba4943","head":{"label":"ericsink:dev","ref":"dev","sha":"8560c9d39dc1f92f1ddbfd67450a526584ba4943","user":{"login":"ericsink","id":3877005,"avatar_url":"https://avatars.githubusercontent.com/u/3877005?v=3","gravatar_id":"","url":"https://api.github.com/users/ericsink","html_url":"https://github.com/ericsink","followers_url":"https://api.github.com/users/ericsink/followers","following_url":"https://api.github.com/users/ericsink/following{/other_user}","gists_url":"https://api.github.com/users/ericsink/gists{/gist_id}","starred_url":"https://api.github.com/users/ericsink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericsink/subscriptions","organizations_url":"https://api.github.com/users/ericsink/orgs","repos_url":"https://api.github.com/users/ericsink/repos","events_url":"https://api.github.com/users/ericsink/events{/privacy}","received_events_url":"https://api.github.com/users/ericsink/received_events","type":"User","site_admin":false},"repo":{"id":69500616,"name":"Microsoft.Data.Sqlite","full_name":"ericsink/Microsoft.Data.Sqlite","owner":{"login":"ericsink","id":3877005,"avatar_url":"https://avatars.githubusercontent.com/u/3877005?v=3","gravatar_id":"","url":"https://api.github.com/users/ericsink","html_url":"https://github.com/ericsink","followers_url":"https://api.github.com/users/ericsink/followers","following_url":"https://api.github.com/users/ericsink/following{/other_user}","gists_url":"https://api.github.com/users/ericsink/gists{/gist_id}","starred_url":"https://api.github.com/users/ericsink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericsink/subscriptions","organizations_url":"https://api.github.com/users/ericsink/orgs","repos_url":"https://api.github.com/users/ericsink/repos","events_url":"https://api.github.com/users/ericsink/events{/privacy}","received_events_url":"https://api.github.com/users/ericsink/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ericsink/Microsoft.Data.Sqlite","description":"SQLite implementations of the System.Data.Common interfaces.","fork":true,"url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite","forks_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/forks","keys_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/teams","hooks_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/hooks","issue_events_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/issues/events{/number}","events_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/events","assignees_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/assignees{/user}","branches_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/branches{/branch}","tags_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/tags","blobs_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/git/refs{/sha}","trees_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/statuses/{sha}","languages_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/languages","stargazers_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/stargazers","contributors_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/contributors","subscribers_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/subscribers","subscription_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/subscription","commits_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/commits{/sha}","git_commits_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/git/commits{/sha}","comments_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/comments{/number}","issue_comment_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/issues/comments{/number}","contents_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/contents/{+path}","compare_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/merges","archive_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/downloads","issues_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/issues{/number}","pulls_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/pulls{/number}","milestones_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/milestones{/number}","notifications_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/labels{/name}","releases_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/releases{/id}","deployments_url":"https://api.github.com/repos/ericsink/Microsoft.Data.Sqlite/deployments","created_at":"2016-09-28T20:20:57Z","updated_at":"2016-09-28T20:20:59Z","pushed_at":"2016-09-28T20:41:25Z","git_url":"git://github.com/ericsink/Microsoft.Data.Sqlite.git","ssh_url":"git@github.com:ericsink/Microsoft.Data.Sqlite.git","clone_url":"https://github.com/ericsink/Microsoft.Data.Sqlite.git","svn_url":"https://github.com/ericsink/Microsoft.Data.Sqlite","homepage":"","size":640,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"dev"}},"base":{"label":"aspnet:dev","ref":"dev","sha":"f04228cac9c29e2b8e0362749be47f9f6350df86","user":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":16859015,"name":"Microsoft.Data.Sqlite","full_name":"aspnet/Microsoft.Data.Sqlite","owner":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aspnet/Microsoft.Data.Sqlite","description":"SQLite implementations of the System.Data.Common interfaces.","fork":false,"url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite","forks_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/forks","keys_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/teams","hooks_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/events","assignees_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/tags","blobs_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/languages","stargazers_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/subscription","commits_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/merges","archive_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/downloads","issues_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/deployments","created_at":"2014-02-15T08:12:41Z","updated_at":"2016-09-24T15:45:36Z","pushed_at":"2016-09-28T21:28:39Z","git_url":"git://github.com/aspnet/Microsoft.Data.Sqlite.git","ssh_url":"git@github.com:aspnet/Microsoft.Data.Sqlite.git","clone_url":"https://github.com/aspnet/Microsoft.Data.Sqlite.git","svn_url":"https://github.com/aspnet/Microsoft.Data.Sqlite","homepage":"","size":1103,"stargazers_count":158,"watchers_count":158,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":61,"mirror_url":null,"open_issues_count":22,"forks":61,"open_issues":22,"watchers":158,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292"},"html":{"href":"https://github.com/aspnet/Microsoft.Data.Sqlite/pull/292"},"issue":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/issues/292"},"comments":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/issues/292/comments"},"review_comments":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292/comments"},"review_comment":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/pulls/292/commits"},"statuses":{"href":"https://api.github.com/repos/aspnet/Microsoft.Data.Sqlite/statuses/8560c9d39dc1f92f1ddbfd67450a526584ba4943"}}}}
{"actor":{"display_login":"bricelam"}}