Skip to content

Commit

Permalink
Revert "Merge pull request #1616 from brandonsavage/revertproduct"
Browse files Browse the repository at this point in the history
This reverts commit 38adc1b, reversing
changes made to 7cf4b11. It readds
fix for bug 923807 back into master.
  • Loading branch information
brandonsavage committed Oct 24, 2013
1 parent c9a8cb3 commit 0fff291
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 8 deletions.
44 changes: 44 additions & 0 deletions alembic/versions/191d0453cc07_making_reports_honor.py
@@ -0,0 +1,44 @@
"""Making reports honor product and version.
Revision ID: 191d0453cc07
Revises: 523b9e57eba2
Create Date: 2013-10-08 08:00:57.230411
"""

# revision identifiers, used by Alembic.
revision = '191d0453cc07'
down_revision = '523b9e57eba2'

from alembic import op
from socorro.lib import citexttype, jsontype
from socorro.lib.migrations import load_stored_proc

import sqlalchemy as sa
from sqlalchemy import types
from sqlalchemy.dialects import postgresql
from sqlalchemy.sql import table, column




def upgrade():
### commands auto generated by Alembic - please adjust! ###
op.add_column(u'signature_summary_device', sa.Column(u'version_string', sa.TEXT(), nullable=True))
op.add_column(u'signature_summary_device', sa.Column(u'product_name', sa.TEXT(), nullable=True))
op.add_column(u'signature_summary_device', sa.Column(u'product_version_id', sa.INTEGER(), nullable=False))
op.add_column(u'signature_summary_graphics', sa.Column(u'version_string', sa.TEXT(), nullable=True))
op.add_column(u'signature_summary_graphics', sa.Column(u'product_name', sa.TEXT(), nullable=True))
op.add_column(u'signature_summary_graphics', sa.Column(u'product_version_id', sa.INTEGER(), nullable=False))
### end Alembic commands ###
load_stored_proc(op, ['update_signature_summary.sql',])

def downgrade():
### commands auto generated by Alembic - please adjust! ###
op.drop_column(u'signature_summary_graphics', u'product_version_id')
op.drop_column(u'signature_summary_graphics', u'product_name')
op.drop_column(u'signature_summary_graphics', u'version_string')
op.drop_column(u'signature_summary_device', u'product_version_id')
op.drop_column(u'signature_summary_device', u'product_name')
op.drop_column(u'signature_summary_device', u'version_string')
### end Alembic commands ###
6 changes: 6 additions & 0 deletions socorro/external/postgresql/models.py
Expand Up @@ -1118,6 +1118,9 @@ class SignatureSummaryDevice(DeclarativeBase):

report_date = Column(u'report_date', DATE(), primary_key=True, nullable=False, index=True)
signature_id = Column(u'signature_id', INTEGER(), primary_key=True, nullable=False)
product_version_id = Column(u'product_version_id', INTEGER(), primary_key=True, nullable=False)
product_name = Column(u'product_name', TEXT())
version_string = Column(u'version_string', TEXT())
android_device_id = Column(u'android_device_id', INTEGER(), primary_key=True, nullable=False)
report_count = Column(u'report_count', INTEGER(), nullable=False)

Expand Down Expand Up @@ -1196,6 +1199,9 @@ class SignatureSummaryGraphics(DeclarativeBase):
__tablename__ = 'signature_summary_graphics'

report_date = Column(u'report_date', DATE(), primary_key=True, nullable=False, index=True)
product_version_id = Column(u'product_version_id', INTEGER(), primary_key=True, nullable=False)
product_name = Column(u'product_name', TEXT())
version_string = Column(u'version_string', TEXT())
signature_id = Column(u'signature_id', INTEGER(), primary_key=True, nullable=False)
graphics_device_id = Column(u'graphics_device_id', INTEGER(), primary_key=True, nullable=False)
report_count = Column(u'report_count', INTEGER(), nullable=False)
Expand Down
Expand Up @@ -212,6 +212,9 @@ INSERT into signature_summary_device (
, signature_id
, android_device_id
, report_count
, product_name
, product_version_id
, version_string
)
WITH android_info AS (
SELECT
Expand All @@ -220,8 +223,12 @@ WITH android_info AS (
, json_object_field_text(raw_crash, 'Android_Manufacturer') as android_manufacturer
, json_object_field_text(raw_crash, 'Android_Model') as android_model
, json_object_field_text(raw_crash, 'Android_Version') as android_version
, product_versions.product_name AS product_name
, product_versions.product_version_id AS product_version_id
, product_versions.version_string as version_string
FROM raw_crashes
JOIN reports_clean ON raw_crashes.uuid::text = reports_clean.uuid
JOIN product_versions ON reports_clean.product_version_id = product_versions.product_version_id
WHERE
raw_crashes.date_processed::date = updateday
AND reports_clean.date_processed::date = updateday
Expand All @@ -231,6 +238,9 @@ SELECT
, signature_id
, android_device_id
, count(android_device_id) as report_count
, product_name
, product_version_id
, version_string
FROM
android_info
JOIN android_devices ON
Expand All @@ -239,7 +249,7 @@ FROM
AND android_info.android_model = android_devices.android_model
AND android_info.android_version = android_devices.android_version
GROUP BY
report_date, signature_id, android_device_id
report_date, signature_id, android_device_id, product_name, product_version_id, version_string
;


Expand All @@ -248,14 +258,21 @@ INSERT INTO signature_summary_graphics (
, signature_id
, graphics_device_id
, report_count
, product_name
, version_string
, product_version_id
)
WITH graphics_info AS (
SELECT
reports_clean.signature_id as signature_id
, json_object_field_text(raw_crash, 'AdapterVendorID') as vendor_hex
, json_object_field_text(raw_crash, 'AdapterDeviceID') as adapter_hex
, product_versions.product_name AS product_name
, product_versions.product_version_id AS product_version_id
, product_versions.version_string as version_string
FROM raw_crashes
JOIN reports_clean ON raw_crashes.uuid::text = reports_clean.uuid
JOIN product_versions ON reports_clean.product_version_id = product_versions.product_version_id
WHERE
raw_crashes.date_processed::date = updateday
AND reports_clean.date_processed::date = updateday
Expand All @@ -265,13 +282,16 @@ SELECT
, signature_id
, graphics_device_id
, count(graphics_device_id) as report_count
, product_name
, version_string
, product_version_id
FROM
graphics_info
JOIN graphics_device ON
graphics_info.vendor_hex = graphics_device.vendor_hex
AND graphics_info.adapter_hex = graphics_device.adapter_hex
GROUP BY
report_date, signature_id, graphics_device_id
report_date, signature_id, graphics_device_id, product_name, product_version_id, version_string
;

RETURN TRUE;
Expand Down
20 changes: 20 additions & 0 deletions socorro/external/postgresql/signature_summary.py
Expand Up @@ -234,6 +234,10 @@ def get(self, **kwargs):
WHERE signatures.signature = %s
AND report_date >= %s
AND report_date < %s
"""
query_string += product_list
query_string += version_list
query_string += """
GROUP BY
android_devices.android_cpu_abi,
android_devices.android_manufacturer,
Expand Down Expand Up @@ -266,6 +270,12 @@ def get(self, **kwargs):
params['start_date'],
params['end_date'],
)

if product_list:
query_parameters += (params['product'],)
if version_list:
query_parameters += (params['version'],)

elif params['report_type'] == 'graphics':
result_cols = [
'vendor_hex',
Expand All @@ -291,6 +301,10 @@ def get(self, **kwargs):
WHERE signatures.signature = %s
AND report_date >= %s
AND report_date < %s
"""
query_string += product_list
query_string += version_list
query_string += """
GROUP BY
graphics_device.graphics_device_id
),
Expand Down Expand Up @@ -320,6 +334,12 @@ def get(self, **kwargs):
params['start_date'],
params['end_date'],
)

if product_list:
query_parameters += (params['product'],)
if version_list:
query_parameters += (params['version'],)

elif params['report_type'] in report_type_columns:
result_cols = ['category', 'report_count', 'percentage']
query_string = """
Expand Down
16 changes: 10 additions & 6 deletions socorro/unittest/external/postgresql/test_signature_summary.py
Expand Up @@ -290,12 +290,15 @@ def setUp(self):

cursor.execute("""
INSERT INTO signature_summary_device
(report_date, signature_id, android_device_id, report_count)
(report_date, signature_id, product_version_id, android_device_id,
report_count)
VALUES
('%(yesterday)s', %(signature_id)s, %(device_id)s, 123)
('%(yesterday)s', %(signature_id)s, %(product_version_id)s,
%(device_id)s, 123)
""" % {'yesterday': yesterday,
'signature_id': signature_id,
'device_id': device_id})
'device_id': device_id,
'product_version_id': product_version_id})

cursor.execute("""
INSERT INTO graphics_device
Expand All @@ -313,12 +316,13 @@ def setUp(self):

cursor.execute("""
INSERT INTO signature_summary_graphics
(report_date, signature_id, graphics_device_id, report_count)
(report_date, signature_id, graphics_device_id, product_version_id, product_name, version_string, report_count)
VALUES
('%(yesterday)s', %(signature_id)s, %(device_id)s, 123)
('%(yesterday)s', %(signature_id)s, %(device_id)s, %(product_version_id)s, 'Firefox', '8.0', 123)
""" % {'yesterday': yesterday,
'signature_id': signature_id,
'device_id': graphics_device_id})
'device_id': graphics_device_id,
'product_version_id': product_version_id})

self.connection.commit()

Expand Down

0 comments on commit 0fff291

Please sign in to comment.