)]}'
{"designate/objects/domain.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a2815800782c121d228edcab64b0a4974d4edbd7","unresolved":false,"context_lines":[{"line_number":28,"context_line":"            \u0027schema\u0027: {"},{"line_number":29,"context_line":"                \u0027type\u0027: \u0027integer\u0027,"},{"line_number":30,"context_line":"                \u0027minimum\u0027: 0,"},{"line_number":31,"context_line":"                \u0027maximum\u0027: 4096"},{"line_number":32,"context_line":"            }"},{"line_number":33,"context_line":"        },"},{"line_number":34,"context_line":"        \u0027tenant_id\u0027: {"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_fbe3cc03","line":31,"updated":"2015-06-20 09:48:34.000000000","message":"This should be 4095. as there are 4096 values including 0. Also - \u0027immutable\u0027: True. Same on the other objects.","commit_id":"efda574aafdf072a0927022efb736f1862f3b3b6"}],"designate/storage/impl_sqlalchemy/migrate_repo/versions/067_add_shard_column.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a2815800782c121d228edcab64b0a4974d4edbd7","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    records_domain_shard_col \u003d Column(\u0027domain_shard\u0027, SmallInteger(),"},{"line_number":57,"context_line":"                                      nullable\u003dFalse)"},{"line_number":58,"context_line":"    records_domain_shard_col.create(records_table)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    _add_shards("},{"line_number":61,"context_line":"        migrate_engine,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_5bb998eb","line":58,"updated":"2015-06-20 09:48:34.000000000","message":"We\u0027ll need to add the new columns with nullable \u003d True, populate the defaults, and then update to nullable \u003d False for this migration to pass.","commit_id":"efda574aafdf072a0927022efb736f1862f3b3b6"}],"designate/storage/impl_sqlalchemy/tables.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a2815800782c121d228edcab64b0a4974d4edbd7","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"domains \u003d Table(\u0027domains\u0027, metadata,"},{"line_number":80,"context_line":"    Column(\u0027id\u0027, UUID, default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":81,"context_line":"    Column(\u0027shard\u0027, SmallInteger(), nullable\u003dFalse, default\u003ddefault_shard),"},{"line_number":82,"context_line":"    Column(\u0027version\u0027, Integer(), default\u003d1, nullable\u003dFalse),"},{"line_number":83,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":84,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_dbe60816","line":81,"updated":"2015-06-20 09:48:34.000000000","message":"Total nit - can we move the \"shard\" column here and on the other tables down to after the deleted_at col? This way, all the standard columns are in the same order at the top of each table definition..","commit_id":"efda574aafdf072a0927022efb736f1862f3b3b6"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a2815800782c121d228edcab64b0a4974d4edbd7","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"recordsets \u003d Table(\u0027recordsets\u0027, metadata,"},{"line_number":139,"context_line":"    Column(\u0027id\u0027, UUID, default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":140,"context_line":"    Column(\u0027domain_shard\u0027, SmallInteger(), nullable\u003dFalse, default\u003dsql.func.CONV(sql.func.SUBSTR(\u0027id\u0027, 1, 3), 16, 10)),"},{"line_number":141,"context_line":"    Column(\u0027version\u0027, Integer(), default\u003d1, nullable\u003dFalse),"},{"line_number":142,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":143,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_7bd7bc23","line":140,"updated":"2015-06-20 09:48:34.000000000","message":"This looks to be setting the shard ID to the recordset_id, rather than the domain_id.. Rather than doing this one in SQL, we could easy set it in the SQLA storage driver at [1], right next to where we set the domain_id.\n\n\n[1]: https://github.com/openstack/designate/blob/master/designate/storage/impl_sqlalchemy/__init__.py#L504","commit_id":"efda574aafdf072a0927022efb736f1862f3b3b6"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a2815800782c121d228edcab64b0a4974d4edbd7","unresolved":false,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":"records \u003d Table(\u0027records\u0027, metadata,"},{"line_number":161,"context_line":"    Column(\u0027id\u0027, UUID, default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":162,"context_line":"    Column(\u0027domain_shard\u0027, SmallInteger(), nullable\u003dFalse, default\u003dsql.func.CONV(sql.func.SUBSTR(\u0027id\u0027, 1, 3), 16, 10)),"},{"line_number":163,"context_line":"    Column(\u0027version\u0027, Integer(), default\u003d1, nullable\u003dFalse),"},{"line_number":164,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":165,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_1bdc7045","line":162,"updated":"2015-06-20 09:48:34.000000000","message":"This looks to be setting the shard ID to the record_id, rather than the domain_id.. Same suggestion as above.","commit_id":"efda574aafdf072a0927022efb736f1862f3b3b6"}]}
