Description
We ran into an issue with the HiveShim code that calls "loadTable" and "loadPartition" while testing with some recent changes in upstream Hive.
The semantics in Hive changed slightly, and if you provide the wrong value for "isSrcLocal" you now can end up with an invalid table: the Hive code will move the temp directory to the final destination instead of moving its children.
The problem in Spark is that HiveShim.scala tries to figure out the value of "isSrcLocal" based on where the source and target directories are; that's not correct. "isSrcLocal" should be set based on the user query (e.g. "LOAD DATA LOCAL" would set it to "true"). So we need to propagate that information from the user query down to HiveShim.