diff options
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.java | 202 |
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() { |