-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
v2.0.0 #611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Replaced normal error with `Error` and SQLite return code. * Fix tests
* Add test * Fix AuthEnabled() * Add AuthEnabled() to TestUserAuthCreateDatabase()
* Add Tests * Fix Compile time option
Fix Travis-CI for new project layout.
This requires manual merge because the master has to be overwritten with this new branch. @mattn If you want I can do the merge after your approval. It requires a forced push to the master |
I prefer to use error message leading with lower case letters. For example: |
I understand not a problem. I will fix this and add it to the contributing guide. Anything else you want or prefer? I honestly don't mind because you started this great repo. Any rules or requirements you want shall be added to the contributing guide which I have added in this PR. |
As far as I can see, patckage path is moved to |
Yes, and second what breaks backwards compatibility are the names of the DSN. No longer is prefix '_' required for the options within the DSN, because there are no conflicts between the options of SQLite and this package. Check out the Wiki. |
Closes #450 [skip ci]
@mattn Also several options for the DSN have been renamed. See Conversion List |
Also |
I'm feeling that the impact of this breaking backward compatibility for third party packages is too big. Most of app or packages using go-sqlite3 is not managed by package manager like glide, dep or vgo. I wonder this proposal requires somewhat unreasonable work for users. May be, we will get many vote down comments. :-( So, how about to separate repository? Move to github.com/go-sqlite3/v1 or v2, Or use pkg.in ? BTW, your works is great. Thanks. |
@mattn Thanks. We could do a separate repository however I'm not a fan for it. We have significantly increased the documentation. Provided conversion tables and we follow Semantic Versioning. We because things are not entirely backwards compatible we increased the Major version to Users can also always checkout tag 1.9.0; I honestly think users will be happy with a major update. I think we should update it and if we really get much backfire; we can either look into a rollback or providing the community with additional conversion documentation. |
BTW, Native full encryption (SEE), build upon the v.2.0.0 is almost done |
@mattn see previous post; If we really get to many complaints we always can create the separate repository like to suggest after the complaints; I really think we should update it and just see. Adding a large text to the beginning to the README as a warning about the backwards compatibility should help to. |
@mattn Any thought yet. P.S. I've completed SEE native Golang encryption by incorperating any other repo and makes quite some change to get it all working. But it is working perfectly. Also I have several other updates ready. |
Could you please explain all of differences between v1 and v2 ? I want to know how many breaking backword compatibilities. Thanks. |
Additional documentation moved from README to Wiki Pages. |
I'm thinking this might occur problem when sqlite include new flag which have same name in go-sqlite3.
Sorry, I still not understand well why this is needed. |
The chance that a conflict will arise will be small because the keys that are given to SQLite are for low-level configuration. Currently there is no such change on the roadmap. Second if their might be a conflict in the future we can easily change it. I think however that the chance will be extremely slim that we will have a conflict in the future.
This was done by my choice, I you want to revert it; it will be fine. To explain my decision. This layout will give us the opportunity to add additional folders and What I was thinking about is to add a Web UI service / Shell to the project in the future. In which you could manage your SQLite database. Available as shell program and library so you can embed it within you project. If you look at the README of Golang Project Layout then you will see where I got the idea. I've done it with my eye on the future to expand en develop this repository even further. If you do not want this. It will be fine with me. I was just looking toward the future, and version v2.0.0 gave me a chance to make some big changes. That's all there is to it. |
@mattn See previous post for explanation. @mattn If you want to see the end result. I've updated the master of my You can find the documentation for it within my Wiki Pages. I hope you like it. Take a look |
@mattn within my own repo I've reversed the SEE; this requires some additional work. |
I prefer to add Since I am conservative, I always think that I would like to prevent existing users from asking for changes. Please give me more time to think about this. |
@mattn Not a problem take all the time you need. Please check out other SQL drivers like; Postgres, MySQL maybe those will help you choose what to do. |
Journal Mode should only be enforced when the user set it. Fixes: #607
strip old SEE Code
Update driver to v2.0.0
driver.Connector
driver.DriverContext
CryptEncoder
and register is with the driver so it can be used from the DSN.This will close PR #597 and Issue #598