diff --git a/lib/req_athena.ex b/lib/req_athena.ex index 0878d6c..c007c9b 100644 --- a/lib/req_athena.ex +++ b/lib/req_athena.ex @@ -19,6 +19,7 @@ defmodule ReqAthena do workgroup region database + catalog athena output_location cache_query @@ -265,7 +266,10 @@ defmodule ReqAthena do body = Map.merge(output_config, %{ - QueryExecutionContext: %{Database: Request.fetch_option!(request, :database)}, + QueryExecutionContext: %{ + Database: Request.fetch_option!(request, :database), + Catalog: Request.get_option(request, :catalog) + }, QueryString: ReqAthena.Query.to_query_string(query) }) diff --git a/test/req_athena_test.exs b/test/req_athena_test.exs index 4677db0..fcc4b51 100644 --- a/test/req_athena_test.exs +++ b/test/req_athena_test.exs @@ -164,6 +164,7 @@ defmodule ReqAthenaTest do assert %{ "ClientRequestToken" => ^client_req_token, "QueryExecutionContext" => %{ + "Catalog" => nil, "Database" => "my_awesome_database" }, "QueryString" => "EXECUTE query_8CD6B60FAFA18EBFA8719A6EAC192624 USING 1", @@ -181,6 +182,7 @@ defmodule ReqAthenaTest do assert %{ "ClientRequestToken" => ^client_req_token, "QueryExecutionContext" => %{ + "Catalog" => nil, "Database" => "my_awesome_database" }, "QueryString" => @@ -346,7 +348,10 @@ defmodule ReqAthenaTest do assert %{ "ClientRequestToken" => ^client_req_token, - "QueryExecutionContext" => %{"Database" => "my_awesome_database"}, + "QueryExecutionContext" => %{ + "Catalog" => nil, + "Database" => "my_awesome_database" + }, "QueryString" => "select * from iris", "WorkGroup" => "default" } = decoded