{"action":"created","comment":{"url":"https://api.github.com/repos/apache/spark/pulls/comments/44866975","id":44866975,"diff_hunk":"@@ -356,6 +356,66 @@ class HiveUDFSuite extends QueryTest with TestHiveSingleton {\n \n     sqlContext.dropTempTable(\"testUDF\")\n   }\n+\n+  test(\"SPARK-11522 select input_file_name from non-parquet table\"){\n+\n+    // EXTERNAL OpenCSVSerde table pointing to LOCATION\n+\n+    val location1 = Utils.getSparkClassLoader.getResource(\"data/files/csv_table\").getFile\n+    sql(s\"\"\"CREATE EXTERNAL TABLE csv_table(page_id INT, impressions INT)\n+         ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'\n+         WITH SERDEPROPERTIES (\n+           \\\"separatorChar\\\" = \\\",\\\",\n+           \\\"quoteChar\\\"     = \\\"\\\\\\\"\\\",\n+           \\\"escapeChar\\\"    = \\\"\\\\\\\\\\\")\n+         LOCATION '$location1'\"\"\")\n+\n+    val answer1 = sql(\"select input_file_name() from csv_table\").head().getString(0)\n+    assert(answer1.contains(location1))\n+    assert(sql(\"select input_file_name() from csv_table\").distinct().collect().length == 2)\n+    sql(\"DROP TABLE csv_table\")\n+\n+    // EXTERNAL pointing to LOCATION\n+\n+    val location2 = Utils.getSparkClassLoader.getResource(\"data/files/external_t5\").getFile\n+    sql(s\"\"\"CREATE EXTERNAL table external_t5 (c1 int, c2 int)\n+        row format delimited fields terminated by ','\n+        location '$location2'\"\"\")\n+\n+    val answer2 = sql(\"SELECT input_file_name() as file FROM external_t5\").head().getString(0)\n+    assert(answer2.contains(\"external_t5\"))\n+    assert(sql(\"SELECT input_file_name() as file FROM external_t5\")\n+      .distinct().collect().length == 1)\n+    sql(\"DROP TABLE external_t5\")\n+\n+   // External parquet pointing to LOCATION\n+\n+    val location3 = Utils.getSparkClassLoader.getResource(\"data/files/external_parquet\").getFile\n+    sql(s\"\"\"CREATE EXTERNAL table external_parquet(c1 int, c2 int)\n+        stored as parquet\n+        LOCATION '$location3'\"\"\")\n+\n+    val answer3 = sql(\"SELECT input_file_name() as file FROM external_parquet\")\n+      .head().getString(0)\n+    assert(answer3.contains(\"external_parquet\"))\n+    assert(sql(\"SELECT input_file_name() as file FROM external_parquet\")\n+      .distinct().collect().length == 1)\n+    sql(\"DROP TABLE external_parquet\")\n+\n+    // Non-External parquet pointing to /tmp/...\n+\n+    sql(\"CREATE table internal_parquet_tmp(c1 int, c2 int) \" +\n+      \" stored as parquet \" +\n+      \" as select 1, 2\")\n+\n+    val answer4 = sql(\"SELECT input_file_name() as file FROM internal_parquet_tmp\")\n+      .head().getString(0)","path":"sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDFSuite.scala","position":57,"original_position":57,"commit_id":"c27d03088f264b66ed95f79e45d47685b4923e04","original_commit_id":"c27d03088f264b66ed95f79e45d47685b4923e04","user":{"login":"yhuai","id":2072857,"avatar_url":"https://avatars.githubusercontent.com/u/2072857?v=3","gravatar_id":"","url":"https://api.github.com/users/yhuai","html_url":"https://github.com/yhuai","followers_url":"https://api.github.com/users/yhuai/followers","following_url":"https://api.github.com/users/yhuai/following{/other_user}","gists_url":"https://api.github.com/users/yhuai/gists{/gist_id}","starred_url":"https://api.github.com/users/yhuai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yhuai/subscriptions","organizations_url":"https://api.github.com/users/yhuai/orgs","repos_url":"https://api.github.com/users/yhuai/repos","events_url":"https://api.github.com/users/yhuai/events{/privacy}","received_events_url":"https://api.github.com/users/yhuai/received_events","type":"User","site_admin":false},"body":"The format looks weird.  Can we use the following?\r\n```\r\nval answer4 =\r\n  sql(\"SELECT input_file_name() as file FROM internal_parquet_tmp\").head().getString(0)\r\n```\r\n\r\n","created_at":"2015-11-15T03:15:57Z","updated_at":"2015-11-15T03:15:57Z","html_url":"https://github.com/apache/spark/pull/9542#discussion_r44866975","pull_request_url":"https://api.github.com/repos/apache/spark/pulls/9542","_links":{"self":{"href":"https://api.github.com/repos/apache/spark/pulls/comments/44866975"},"html":{"href":"https://github.com/apache/spark/pull/9542#discussion_r44866975"},"pull_request":{"href":"https://api.github.com/repos/apache/spark/pulls/9542"}}},"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/9542","id":50041076,"html_url":"https://github.com/apache/spark/pull/9542","diff_url":"https://github.com/apache/spark/pull/9542.diff","patch_url":"https://github.com/apache/spark/pull/9542.patch","issue_url":"https://api.github.com/repos/apache/spark/issues/9542","number":9542,"state":"open","locked":false,"title":"[Spark-11522][SQL] input_file_name() returns \"\" for external tables","user":{"login":"xwu0226","id":14225992,"avatar_url":"https://avatars.githubusercontent.com/u/14225992?v=3","gravatar_id":"","url":"https://api.github.com/users/xwu0226","html_url":"https://github.com/xwu0226","followers_url":"https://api.github.com/users/xwu0226/followers","following_url":"https://api.github.com/users/xwu0226/following{/other_user}","gists_url":"https://api.github.com/users/xwu0226/gists{/gist_id}","starred_url":"https://api.github.com/users/xwu0226/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xwu0226/subscriptions","organizations_url":"https://api.github.com/users/xwu0226/orgs","repos_url":"https://api.github.com/users/xwu0226/repos","events_url":"https://api.github.com/users/xwu0226/events{/privacy}","received_events_url":"https://api.github.com/users/xwu0226/received_events","type":"User","site_admin":false},"body":"When computing partition for non-parquet relation, `HadoopRDD.compute` is used. but it does not set the thread local variable `inputFileName` in `NewSqlHadoopRDD`, like `NewSqlHadoopRDD.compute` does.. Yet, when getting the `inputFileName`, `NewSqlHadoopRDD.inputFileName` is exptected, which is empty now.  \r\nAdding the setting inputFileName in HadoopRDD.compute resolves this issue. ","created_at":"2015-11-07T17:47:04Z","updated_at":"2015-11-15T03:15:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7e31e103ebf81f54d78d444f9b2ffe5919dc4878","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/apache/spark/pulls/9542/commits","review_comments_url":"https://api.github.com/repos/apache/spark/pulls/9542/comments","review_comment_url":"https://api.github.com/repos/apache/spark/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apache/spark/issues/9542/comments","statuses_url":"https://api.github.com/repos/apache/spark/statuses/c27d03088f264b66ed95f79e45d47685b4923e04","head":{"label":"xwu0226:SPARK-11522","ref":"SPARK-11522","sha":"c27d03088f264b66ed95f79e45d47685b4923e04","user":{"login":"xwu0226","id":14225992,"avatar_url":"https://avatars.githubusercontent.com/u/14225992?v=3","gravatar_id":"","url":"https://api.github.com/users/xwu0226","html_url":"https://github.com/xwu0226","followers_url":"https://api.github.com/users/xwu0226/followers","following_url":"https://api.github.com/users/xwu0226/following{/other_user}","gists_url":"https://api.github.com/users/xwu0226/gists{/gist_id}","starred_url":"https://api.github.com/users/xwu0226/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xwu0226/subscriptions","organizations_url":"https://api.github.com/users/xwu0226/orgs","repos_url":"https://api.github.com/users/xwu0226/repos","events_url":"https://api.github.com/users/xwu0226/events{/privacy}","received_events_url":"https://api.github.com/users/xwu0226/received_events","type":"User","site_admin":false},"repo":{"id":42968936,"name":"spark","full_name":"xwu0226/spark","owner":{"login":"xwu0226","id":14225992,"avatar_url":"https://avatars.githubusercontent.com/u/14225992?v=3","gravatar_id":"","url":"https://api.github.com/users/xwu0226","html_url":"https://github.com/xwu0226","followers_url":"https://api.github.com/users/xwu0226/followers","following_url":"https://api.github.com/users/xwu0226/following{/other_user}","gists_url":"https://api.github.com/users/xwu0226/gists{/gist_id}","starred_url":"https://api.github.com/users/xwu0226/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xwu0226/subscriptions","organizations_url":"https://api.github.com/users/xwu0226/orgs","repos_url":"https://api.github.com/users/xwu0226/repos","events_url":"https://api.github.com/users/xwu0226/events{/privacy}","received_events_url":"https://api.github.com/users/xwu0226/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/xwu0226/spark","description":"Mirror of Apache Spark","fork":true,"url":"https://api.github.com/repos/xwu0226/spark","forks_url":"https://api.github.com/repos/xwu0226/spark/forks","keys_url":"https://api.github.com/repos/xwu0226/spark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xwu0226/spark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xwu0226/spark/teams","hooks_url":"https://api.github.com/repos/xwu0226/spark/hooks","issue_events_url":"https://api.github.com/repos/xwu0226/spark/issues/events{/number}","events_url":"https://api.github.com/repos/xwu0226/spark/events","assignees_url":"https://api.github.com/repos/xwu0226/spark/assignees{/user}","branches_url":"https://api.github.com/repos/xwu0226/spark/branches{/branch}","tags_url":"https://api.github.com/repos/xwu0226/spark/tags","blobs_url":"https://api.github.com/repos/xwu0226/spark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xwu0226/spark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xwu0226/spark/git/refs{/sha}","trees_url":"https://api.github.com/repos/xwu0226/spark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xwu0226/spark/statuses/{sha}","languages_url":"https://api.github.com/repos/xwu0226/spark/languages","stargazers_url":"https://api.github.com/repos/xwu0226/spark/stargazers","contributors_url":"https://api.github.com/repos/xwu0226/spark/contributors","subscribers_url":"https://api.github.com/repos/xwu0226/spark/subscribers","subscription_url":"https://api.github.com/repos/xwu0226/spark/subscription","commits_url":"https://api.github.com/repos/xwu0226/spark/commits{/sha}","git_commits_url":"https://api.github.com/repos/xwu0226/spark/git/commits{/sha}","comments_url":"https://api.github.com/repos/xwu0226/spark/comments{/number}","issue_comment_url":"https://api.github.com/repos/xwu0226/spark/issues/comments{/number}","contents_url":"https://api.github.com/repos/xwu0226/spark/contents/{+path}","compare_url":"https://api.github.com/repos/xwu0226/spark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xwu0226/spark/merges","archive_url":"https://api.github.com/repos/xwu0226/spark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xwu0226/spark/downloads","issues_url":"https://api.github.com/repos/xwu0226/spark/issues{/number}","pulls_url":"https://api.github.com/repos/xwu0226/spark/pulls{/number}","milestones_url":"https://api.github.com/repos/xwu0226/spark/milestones{/number}","notifications_url":"https://api.github.com/repos/xwu0226/spark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xwu0226/spark/labels{/name}","releases_url":"https://api.github.com/repos/xwu0226/spark/releases{/id}","created_at":"2015-09-23T00:30:54Z","updated_at":"2015-09-23T00:31:24Z","pushed_at":"2015-11-14T20:10:35Z","git_url":"git://github.com/xwu0226/spark.git","ssh_url":"git@github.com:xwu0226/spark.git","clone_url":"https://github.com/xwu0226/spark.git","svn_url":"https://github.com/xwu0226/spark","homepage":null,"size":130271,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"apache:master","ref":"master","sha":"2ff0e79a8647cca5c9c57f613a07e739ac4f677e","user":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"repo":{"id":17165658,"name":"spark","full_name":"apache/spark","owner":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apache/spark","description":"Mirror of Apache Spark","fork":false,"url":"https://api.github.com/repos/apache/spark","forks_url":"https://api.github.com/repos/apache/spark/forks","keys_url":"https://api.github.com/repos/apache/spark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apache/spark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apache/spark/teams","hooks_url":"https://api.github.com/repos/apache/spark/hooks","issue_events_url":"https://api.github.com/repos/apache/spark/issues/events{/number}","events_url":"https://api.github.com/repos/apache/spark/events","assignees_url":"https://api.github.com/repos/apache/spark/assignees{/user}","branches_url":"https://api.github.com/repos/apache/spark/branches{/branch}","tags_url":"https://api.github.com/repos/apache/spark/tags","blobs_url":"https://api.github.com/repos/apache/spark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apache/spark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apache/spark/git/refs{/sha}","trees_url":"https://api.github.com/repos/apache/spark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apache/spark/statuses/{sha}","languages_url":"https://api.github.com/repos/apache/spark/languages","stargazers_url":"https://api.github.com/repos/apache/spark/stargazers","contributors_url":"https://api.github.com/repos/apache/spark/contributors","subscribers_url":"https://api.github.com/repos/apache/spark/subscribers","subscription_url":"https://api.github.com/repos/apache/spark/subscription","commits_url":"https://api.github.com/repos/apache/spark/commits{/sha}","git_commits_url":"https://api.github.com/repos/apache/spark/git/commits{/sha}","comments_url":"https://api.github.com/repos/apache/spark/comments{/number}","issue_comment_url":"https://api.github.com/repos/apache/spark/issues/comments{/number}","contents_url":"https://api.github.com/repos/apache/spark/contents/{+path}","compare_url":"https://api.github.com/repos/apache/spark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apache/spark/merges","archive_url":"https://api.github.com/repos/apache/spark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apache/spark/downloads","issues_url":"https://api.github.com/repos/apache/spark/issues{/number}","pulls_url":"https://api.github.com/repos/apache/spark/pulls{/number}","milestones_url":"https://api.github.com/repos/apache/spark/milestones{/number}","notifications_url":"https://api.github.com/repos/apache/spark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apache/spark/labels{/name}","releases_url":"https://api.github.com/repos/apache/spark/releases{/id}","created_at":"2014-02-25T08:00:08Z","updated_at":"2015-11-15T03:03:32Z","pushed_at":"2015-11-15T03:12:22Z","git_url":"git://github.com/apache/spark.git","ssh_url":"git@github.com:apache/spark.git","clone_url":"https://github.com/apache/spark.git","svn_url":"https://github.com/apache/spark","homepage":null,"size":1658761,"stargazers_count":6183,"watchers_count":6183,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5712,"mirror_url":"git://git.apache.org/spark.git","open_issues_count":370,"forks":5712,"open_issues":370,"watchers":6183,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apache/spark/pulls/9542"},"html":{"href":"https://github.com/apache/spark/pull/9542"},"issue":{"href":"https://api.github.com/repos/apache/spark/issues/9542"},"comments":{"href":"https://api.github.com/repos/apache/spark/issues/9542/comments"},"review_comments":{"href":"https://api.github.com/repos/apache/spark/pulls/9542/comments"},"review_comment":{"href":"https://api.github.com/repos/apache/spark/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apache/spark/pulls/9542/commits"},"statuses":{"href":"https://api.github.com/repos/apache/spark/statuses/c27d03088f264b66ed95f79e45d47685b4923e04"}}}}