WL#1226: Add Streamed LOAD DATA INFILE support
Affects: Server-7.1 — Status: Un-Assigned — Priority: Medium
Currently we have support loading data from file (local or remote), however for some data loading needs it would be more convenient to be able to supply the stream directly instead of saving it to the file first On client side this could be implemented as LOAD DATA STREAM INFILE INTO TABLE XXX; When client has a function "push" the data it wanted to load. This command could be also very useful for replication, allowing to avoid storing file in /tmp/ which adds a lot of problems. For example - if /tmp/ is cleaned on server restart replication can be broken - Problems with cleanup files from mysqlbinlog in /tmp/ - Problem with saving binlog content in text: mysqlbinlog > file.sql We could use this feature in replication similar to Prepared statements by adding SQL commands for such interface, for example: LOAD DATA STREAM INFILE INTO TABLE XXX; SEND DATA "Block up to max_allowed_packet from the file"; ... SEND DATA "Block up to max_allowed_packet from the file"; SEND DATA END; That could be used for replicating all LOAD DATA INFILE statements. For normal replication flow (besides mysqlbinlog) it can be used even without adding special SQL level commands.
Copyright (c) 2000, 2017, Oracle Corporation and/or its affiliates. All rights reserved.