-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Extension to help use LOAD DATA LOCAL INFILE
#1060
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
Open
Open
+557
−0
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Allows data to be imported by Exec(parameter) after using special `Data::Data` as file path of `LOAD DATA LOCAL INFILE`. It is easy to use instead of `INSERT INTO`. This is easier to import than io.Reader when you want to import data generated from the program. Implementation method. 1. Add the `LOAD DATA` flag to Prepare() and Exec(). 2. Exec() with `LOAD DATA` flag set will send the parameter converted to TSV.
Member
I don't like this design. My rough idea is:
// signature mysql.LoadLocalInfile(conn sql.Conn, query string, file io.Reader) // usage import ( "database/sql" "github.com/go-sql-driver/mysql" ) // ... conn := db.Conn() err := mysql.LoadLocalInfile(conn, "LOAD LOCAL INFILE ... ", string.Reader(data)) // ...
As of Go 1.13, Conn.Raw is added.
LoadLocalInfile can be implemented using it.
Contributor
Author
noborus
commented
Feb 13, 2020
I don't like this design. My rough idea is:
I understand what you say.
LoadLocalInfile can be implemented using it.
Yes. I think it is good.
However, the io.Reader interface is not easy to handle the large stream data generated.
I wanted a mechanism to help that.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Allows data to be imported by Exec(parameter) after using
special
Data::Dataas file path ofLOAD DATA LOCAL INFILE.It is easy to use instead of
INSERT INTO.This is easier to import than io.Reader
when you want to import data generated from the program.
Implementation method.
LOAD DATAflag to Prepare() and Exec().LOAD DATAflag set will send the parameter converted to TSV.Sorry for the big patch.
I don't think this is a change that everyone agrees with.
I would like to ask you if such an extension is acceptable.
Checklist