summaryrefslogtreecommitdiff
path: root/adservices/service-core/java/com/android/adservices/data/measurement/MeasurementTables.java
diff options
context:
space:
mode:
Diffstat (limited to 'adservices/service-core/java/com/android/adservices/data/measurement/MeasurementTables.java')
-rw-r--r--adservices/service-core/java/com/android/adservices/data/measurement/MeasurementTables.java202
1 files changed, 183 insertions, 19 deletions
diff --git a/adservices/service-core/java/com/android/adservices/data/measurement/MeasurementTables.java b/adservices/service-core/java/com/android/adservices/data/measurement/MeasurementTables.java
index 6e8873191e..e4795e31b9 100644
--- a/adservices/service-core/java/com/android/adservices/data/measurement/MeasurementTables.java
+++ b/adservices/service-core/java/com/android/adservices/data/measurement/MeasurementTables.java
@@ -16,6 +16,8 @@
package com.android.adservices.data.measurement;
+import com.android.adservices.data.measurement.migration.MeasurementTablesDeprecated;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -47,18 +49,21 @@ public final class MeasurementTables {
public interface AsyncRegistrationContract {
String TABLE = MSMT_TABLE_PREFIX + "async_registration_contract";
String ID = "_id";
+ String ENROLLMENT_ID = "enrollment_id";
String REGISTRATION_URI = "registration_uri";
String TOP_ORIGIN = "top_origin";
- String INPUT_EVENT = "input_event";
- String REDIRECT = "redirect";
+ String SOURCE_TYPE = "source_type";
+ String REDIRECT_TYPE = "redirect_type";
+ String REDIRECT_COUNT = "redirect_count";
String REGISTRANT = "registrant";
- String SCHEDULE_TIME = "scheduled_time";
+ String REQUEST_TIME = "request_time";
String RETRY_COUNT = "retry_count";
- String LAST_TIME_PROCESSING = "last_processing_time";
+ String LAST_PROCESSING_TIME = "last_processing_time";
String TYPE = "type";
String WEB_DESTINATION = "web_destination";
String OS_DESTINATION = "os_destination";
String VERIFIED_DESTINATION = "verified_destination";
+ String DEBUG_KEY_ALLOWED = "debug_key_allowed";
}
/** Contract for Source. */
@@ -102,6 +107,7 @@ public final class MeasurementTables {
String AGGREGATE_TRIGGER_DATA = "aggregate_trigger_data";
String AGGREGATE_VALUES = "aggregate_values";
String FILTERS = "filters";
+ String NOT_FILTERS = "not_filters";
String DEBUG_KEY = "debug_key";
}
@@ -109,7 +115,7 @@ public final class MeasurementTables {
public interface EventReportContract {
String TABLE = MSMT_TABLE_PREFIX + "event_report";
String ID = "_id";
- String SOURCE_ID = "source_id";
+ String SOURCE_EVENT_ID = "source_event_id";
String ATTRIBUTION_DESTINATION = "attribution_destination";
String REPORT_TIME = "report_time";
String TRIGGER_DATA = "trigger_data";
@@ -117,11 +123,14 @@ public final class MeasurementTables {
String TRIGGER_DEDUP_KEY = "trigger_dedup_key";
String TRIGGER_TIME = "trigger_time";
String STATUS = "status";
+ String DEBUG_REPORT_STATUS = "debug_report_status";
String SOURCE_TYPE = "source_type";
String ENROLLMENT_ID = "enrollment_id";
String RANDOMIZED_TRIGGER_RATE = "randomized_trigger_rate";
String SOURCE_DEBUG_KEY = "source_debug_key";
String TRIGGER_DEBUG_KEY = "trigger_debug_key";
+ String SOURCE_ID = "source_id";
+ String TRIGGER_ID = "trigger_id";
}
/** Contract for Attribution rate limit. */
@@ -135,6 +144,8 @@ public final class MeasurementTables {
String TRIGGER_TIME = "trigger_time";
String REGISTRANT = "registrant";
String ENROLLMENT_ID = "enrollment_id";
+ String SOURCE_ID = "source_id";
+ String TRIGGER_ID = "trigger_id";
}
/** Contract for Unencrypted aggregate payload. */
@@ -148,9 +159,12 @@ public final class MeasurementTables {
String ENROLLMENT_ID = "enrollment_id";
String DEBUG_CLEARTEXT_PAYLOAD = "debug_cleartext_payload";
String STATUS = "status";
+ String DEBUG_REPORT_STATUS = "debug_report_status";
String API_VERSION = "api_version";
String SOURCE_DEBUG_KEY = "source_debug_key";
String TRIGGER_DEBUG_KEY = "trigger_debug_key";
+ String SOURCE_ID = "source_id";
+ String TRIGGER_ID = "trigger_id";
}
/** Contract for aggregate encryption key. */
@@ -178,19 +192,57 @@ public final class MeasurementTables {
+ " TEXT, "
+ AsyncRegistrationContract.TOP_ORIGIN
+ " TEXT, "
- + AsyncRegistrationContract.REDIRECT
+ + MeasurementTablesDeprecated.AsyncRegistration.REDIRECT
+ + " INTEGER, "
+ + MeasurementTablesDeprecated.AsyncRegistration.INPUT_EVENT
+ + " INTEGER, "
+ + AsyncRegistrationContract.REGISTRANT
+ + " TEXT, "
+ + AsyncRegistrationContract.REQUEST_TIME
+ + " INTEGER, "
+ + AsyncRegistrationContract.RETRY_COUNT
+ + " INTEGER, "
+ + AsyncRegistrationContract.LAST_PROCESSING_TIME
+ + " INTEGER, "
+ + AsyncRegistrationContract.TYPE
+ + " INTEGER "
+ + ")";
+
+ public static final String CREATE_TABLE_ASYNC_REGISTRATION_V2 =
+ "CREATE TABLE "
+ + AsyncRegistrationContract.TABLE
+ + " ("
+ + AsyncRegistrationContract.ID
+ + " TEXT PRIMARY KEY NOT NULL, "
+ + AsyncRegistrationContract.ENROLLMENT_ID
+ + " TEXT, "
+ + AsyncRegistrationContract.REGISTRATION_URI
+ + " TEXT, "
+ + AsyncRegistrationContract.WEB_DESTINATION
+ + " TEXT, "
+ + AsyncRegistrationContract.OS_DESTINATION
+ + " TEXT, "
+ + AsyncRegistrationContract.VERIFIED_DESTINATION
+ + " TEXT, "
+ + AsyncRegistrationContract.TOP_ORIGIN
+ + " TEXT, "
+ + AsyncRegistrationContract.REDIRECT_TYPE
+ " INTEGER, "
- + AsyncRegistrationContract.INPUT_EVENT
+ + AsyncRegistrationContract.REDIRECT_COUNT
+ + " INTEGER, "
+ + AsyncRegistrationContract.SOURCE_TYPE
+ " INTEGER, "
+ AsyncRegistrationContract.REGISTRANT
+ " TEXT, "
- + AsyncRegistrationContract.SCHEDULE_TIME
+ + AsyncRegistrationContract.REQUEST_TIME
+ " INTEGER, "
+ AsyncRegistrationContract.RETRY_COUNT
+ " INTEGER, "
- + AsyncRegistrationContract.LAST_TIME_PROCESSING
+ + AsyncRegistrationContract.LAST_PROCESSING_TIME
+ " INTEGER, "
+ AsyncRegistrationContract.TYPE
+ + " INTEGER, "
+ + AsyncRegistrationContract.DEBUG_KEY_ALLOWED
+ " INTEGER "
+ ")";
@@ -274,6 +326,38 @@ public final class MeasurementTables {
+ " INTEGER "
+ ")";
+ public static final String CREATE_TABLE_TRIGGER_V2 =
+ "CREATE TABLE "
+ + TriggerContract.TABLE
+ + " ("
+ + TriggerContract.ID
+ + " TEXT PRIMARY KEY NOT NULL, "
+ + TriggerContract.ATTRIBUTION_DESTINATION
+ + " TEXT, "
+ + TriggerContract.DESTINATION_TYPE
+ + " INTEGER, "
+ + TriggerContract.ENROLLMENT_ID
+ + " TEXT, "
+ + TriggerContract.TRIGGER_TIME
+ + " INTEGER, "
+ + TriggerContract.EVENT_TRIGGERS
+ + " TEXT, "
+ + TriggerContract.STATUS
+ + " INTEGER, "
+ + TriggerContract.REGISTRANT
+ + " TEXT, "
+ + TriggerContract.AGGREGATE_TRIGGER_DATA
+ + " TEXT, "
+ + TriggerContract.AGGREGATE_VALUES
+ + " TEXT, "
+ + TriggerContract.FILTERS
+ + " TEXT, "
+ + TriggerContract.NOT_FILTERS
+ + " TEXT, "
+ + TriggerContract.DEBUG_KEY
+ + " INTEGER "
+ + ")";
+
public static final String CREATE_TABLE_EVENT_REPORT_V1 =
"CREATE TABLE "
+ EventReportContract.TABLE
@@ -304,13 +388,13 @@ public final class MeasurementTables {
+ " DOUBLE "
+ ")";
- public static final String CREATE_TABLE_EVENT_REPORT_V2 =
+ public static final String CREATE_TABLE_EVENT_REPORT_V3 =
"CREATE TABLE "
+ EventReportContract.TABLE
+ " ("
+ EventReportContract.ID
+ " TEXT PRIMARY KEY NOT NULL, "
- + EventReportContract.SOURCE_ID
+ + EventReportContract.SOURCE_EVENT_ID
+ " INTEGER, "
+ EventReportContract.ENROLLMENT_ID
+ " TEXT, "
@@ -328,6 +412,8 @@ public final class MeasurementTables {
+ " INTEGER, "
+ EventReportContract.STATUS
+ " INTEGER, "
+ + EventReportContract.DEBUG_REPORT_STATUS
+ + " INTEGER, "
+ EventReportContract.SOURCE_TYPE
+ " TEXT, "
+ EventReportContract.RANDOMIZED_TRIGGER_RATE
@@ -335,7 +421,25 @@ public final class MeasurementTables {
+ EventReportContract.SOURCE_DEBUG_KEY
+ " INTEGER, "
+ EventReportContract.TRIGGER_DEBUG_KEY
- + " INTEGER "
+ + " INTEGER, "
+ + EventReportContract.SOURCE_ID
+ + " TEXT, "
+ + EventReportContract.TRIGGER_ID
+ + " TEXT, "
+ + "FOREIGN KEY ("
+ + EventReportContract.SOURCE_ID
+ + ") REFERENCES "
+ + SourceContract.TABLE
+ + "("
+ + SourceContract.ID
+ + ") ON DELETE CASCADE, "
+ + "FOREIGN KEY ("
+ + EventReportContract.TRIGGER_ID
+ + ") REFERENCES "
+ + TriggerContract.TABLE
+ + "("
+ + TriggerContract.ID
+ + ") ON DELETE CASCADE"
+ ")";
public static final String CREATE_TABLE_ATTRIBUTION_V1 =
@@ -360,6 +464,46 @@ public final class MeasurementTables {
+ " TEXT "
+ ")";
+ public static final String CREATE_TABLE_ATTRIBUTION_V3 =
+ "CREATE TABLE "
+ + AttributionContract.TABLE
+ + " ("
+ + AttributionContract.ID
+ + " TEXT PRIMARY KEY NOT NULL, "
+ + AttributionContract.SOURCE_SITE
+ + " TEXT, "
+ + AttributionContract.SOURCE_ORIGIN
+ + " TEXT, "
+ + AttributionContract.DESTINATION_SITE
+ + " TEXT, "
+ + AttributionContract.DESTINATION_ORIGIN
+ + " TEXT, "
+ + AttributionContract.ENROLLMENT_ID
+ + " TEXT, "
+ + AttributionContract.TRIGGER_TIME
+ + " INTEGER, "
+ + AttributionContract.REGISTRANT
+ + " TEXT, "
+ + AttributionContract.SOURCE_ID
+ + " TEXT, "
+ + AttributionContract.TRIGGER_ID
+ + " TEXT, "
+ + "FOREIGN KEY ("
+ + AttributionContract.SOURCE_ID
+ + ") REFERENCES "
+ + SourceContract.TABLE
+ + "("
+ + SourceContract.ID
+ + ") ON DELETE CASCADE, "
+ + "FOREIGN KEY ("
+ + AttributionContract.TRIGGER_ID
+ + ") REFERENCES "
+ + TriggerContract.TABLE
+ + "("
+ + TriggerContract.ID
+ + ") ON DELETE CASCADE"
+ + ")";
+
public static final String CREATE_TABLE_AGGREGATE_REPORT_V1 =
"CREATE TABLE "
+ AggregateReport.TABLE
@@ -384,7 +528,7 @@ public final class MeasurementTables {
+ " TEXT "
+ ")";
- public static final String CREATE_TABLE_AGGREGATE_REPORT_V2 =
+ public static final String CREATE_TABLE_AGGREGATE_REPORT_V3 =
"CREATE TABLE "
+ AggregateReport.TABLE
+ " ("
@@ -404,12 +548,32 @@ public final class MeasurementTables {
+ " TEXT, "
+ AggregateReport.STATUS
+ " INTEGER, "
+ + AggregateReport.DEBUG_REPORT_STATUS
+ + " INTEGER, "
+ AggregateReport.API_VERSION
+ " TEXT, "
+ AggregateReport.SOURCE_DEBUG_KEY
+ " INTEGER, "
+ AggregateReport.TRIGGER_DEBUG_KEY
- + " INTEGER "
+ + " INTEGER, "
+ + AggregateReport.SOURCE_ID
+ + " TEXT, "
+ + AggregateReport.TRIGGER_ID
+ + " TEXT, "
+ + "FOREIGN KEY ("
+ + AggregateReport.SOURCE_ID
+ + ") REFERENCES "
+ + SourceContract.TABLE
+ + "("
+ + SourceContract.ID
+ + ") ON DELETE CASCADE "
+ + "FOREIGN KEY ("
+ + AggregateReport.TRIGGER_ID
+ + ") REFERENCES "
+ + TriggerContract.TABLE
+ + "("
+ + TriggerContract.ID
+ + ") ON DELETE CASCADE"
+ ")";
public static final String CREATE_TABLE_AGGREGATE_ENCRYPTION_KEY_V1 =
@@ -515,12 +679,12 @@ public final class MeasurementTables {
Collections.unmodifiableList(
Arrays.asList(
CREATE_TABLE_SOURCE_V1,
- CREATE_TABLE_TRIGGER_V1,
- CREATE_TABLE_EVENT_REPORT_V2,
- CREATE_TABLE_ATTRIBUTION_V1,
- CREATE_TABLE_AGGREGATE_REPORT_V2,
+ CREATE_TABLE_TRIGGER_V2,
+ CREATE_TABLE_EVENT_REPORT_V3,
+ CREATE_TABLE_ATTRIBUTION_V3,
+ CREATE_TABLE_AGGREGATE_REPORT_V3,
CREATE_TABLE_AGGREGATE_ENCRYPTION_KEY_V1,
- CREATE_TABLE_ASYNC_REGISTRATION_V1));
+ CREATE_TABLE_ASYNC_REGISTRATION_V2));
// Private constructor to prevent instantiation.
private MeasurementTables() {