diff --git a/src/main/java/org/embulk/input/google_ads/GoogleAdsReporter.java b/src/main/java/org/embulk/input/google_ads/GoogleAdsReporter.java index a03ac70..5a8dff3 100644 --- a/src/main/java/org/embulk/input/google_ads/GoogleAdsReporter.java +++ b/src/main/java/org/embulk/input/google_ads/GoogleAdsReporter.java @@ -219,6 +219,11 @@ public String buildQuery(PluginTask task) sb.append(String.join(" AND ", whereClause)); } + if (task.getLimit().isPresent()) { + sb.append(" LIMIT "); + sb.append(task.getLimit().get()); + } + return sb.toString(); } @@ -231,7 +236,11 @@ public List buildWhereClauseConditions(PluginTask task) if (task.getDateRange().isPresent()) { StringBuilder dateSb = new StringBuilder(); - dateSb.append("segments.date BETWEEN '"); + if (task.getResourceType().equals("change_event")) { + dateSb.append("change_event.change_date_time BETWEEN '"); + } else { + dateSb.append("segments.date BETWEEN '"); + } dateSb.append(task.getDateRange().get().getStartDate()); dateSb.append("' AND '"); dateSb.append(task.getDateRange().get().getEndDate()); diff --git a/src/main/java/org/embulk/input/google_ads/PluginTask.java b/src/main/java/org/embulk/input/google_ads/PluginTask.java index f5b1b28..ced63a8 100644 --- a/src/main/java/org/embulk/input/google_ads/PluginTask.java +++ b/src/main/java/org/embulk/input/google_ads/PluginTask.java @@ -43,6 +43,10 @@ public interface PluginTask extends Task @ConfigDefault("null") Optional getDateRange(); + @Config("limit") + @ConfigDefault("null") + Optional getLimit(); + @Config("_use_micro") @ConfigDefault("true") boolean getUseMicro();