-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Feature request: add CSV vtable module #393
Comments
Agreed. It would be very helpful to have CSV module. |
Thanks for your suggestion. I totally agree with you. As you know, CSV module is separated from codes of core. To enable CSV module, you must compile csv.so with getting code from https://www.sqlite.org/src/artifact?ci=trunk&filename=ext/misc/csv.c . And load the module like below. sql.Register("sqlite3_with_extensions",
&sqlite3.SQLiteDriver{
Extensions: []string{
"csv",
},
}) However, I often feel trouble to use go-sqlite3 for unit test. For example, we want to use go-sqlite3 to load test data from CSV, as you mentioned. So I agree with you in personally. |
Compile Section Closes mattn#175 Compile Section Closes mattn#201 Compile Section Closes mattn#206 Compile Section Closes mattn#404 Compile Section Closes mattn#217 Compile Section Closes mattn#224 Compile Section Closes mattn#234 Compile Section Closes mattn#242 Feature table Closes mattn#255 Description Section Closes mattn#232 Golang:1.6 not supported Closes mattn#272 Golang:1.5 not supported + compilation section Closes mattn#283 usleep Implemented Closes mattn#285 FAQ Section Closes mattn#289 Compile Section closes mattn#295 FAQ Section Closes mattn#305 PR339 Closes mattn#318 mattn#321 Compilation Section Closes mattn#341 PR407 Closes mattn#364 Feature `sqlite_vtable` Closes mattn#393 Compile Section Closes mattn#416 sqlite_trace feature Closes mattn#433 Compilation Section Closes mattn#435 Compilation Section Closes mattn#443 Golang:1.6 Not Supported Closes mattn#445 Compilation Section Closes mattn#451 Compilation Section Closes mattn#467 Compilation Section Closes mattn#491 Compilation Section Closes mattn#495 Compilation Section Closes mattn#505 Compilation Section Closes mattn#557 Compilation Section Closes mattn#560
Hi there, I just wanted to ask about this as it was closed by a commit (c9394b1), but I can't seem to find any implementation of it. Is it necessary to load the csv virtual table as an extension still, rather than via a build tag? It would be great if it were supported similar to other extensions enumerated in the extensions list |
The SQLite3 source provides a CSV vtable module, but it is not part of the amalgamated source. If possible, it would be great if the csv vtable module could be included in the base
go-sqlite3
package, along with a relatedcsv
build tag.This would effectively allow the following SQL:
Rationale:
It seems disjoint that there are other modules (such as
json1
) that are part of the amalgamated source, but that require separate build tags to enable. I understand this is likely due to a want to keep the build times as low as possible, and thus disabling extraneous features, but for completeness sake, the other base/core modules (those that have.html
documentation) should at least be available via build tags.I am happy to create a separate repository and connect up the CSV module that way, but considering how widely CSV is used, it would make sense for SQLite's core/original CSV be packaged with this repository. As such, I would be more than willing to do the work to get the csv module added to the code, and submit a proper pull request, however I would like to get a "thumbs up" before embarking on any work. If including the csv module directly is out of the question, I will just create a separate repository and connect using the appropriate hooks.
(note: I am working on some advanced features for github.com/knq/usql and would like CSV to be natively available for sqlite databases)
(btw, @mattn thanks for all your amazing Go code/repositories....!)
The text was updated successfully, but these errors were encountered: