)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"1da6bbcfbcf506887e4955f49a90ed15ce32d666","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sophie Huang \u003csh879n@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-12-12 16:46:45 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update helm-toolkit db-init script and manifest for both mysql and postgresql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  * Add the ability to create a mysql user with specific permision on specific table"},{"line_number":10,"context_line":"  * Add the ability to create a postgres user with specific permision on specific table"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_6be6a3ea","line":7,"range":{"start_line":7,"start_character":47,"end_line":7,"end_character":77},"updated":"2019-12-16 17:14:53.000000000","message":"this commitmsg should probably word wrap","commit_id":"3de549af724cce629623907ced71924afa55eb34"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"0db0738043796d12badf97c24a53294a79f59dc5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sophie Huang \u003csh879n@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-12-12 16:46:45 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update helm-toolkit db-init script and manifest for both mysql and postgresql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  * Add the ability to create a mysql user with specific permision on specific table"},{"line_number":10,"context_line":"  * Add the ability to create a postgres user with specific permision on specific table"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_5df03167","line":7,"range":{"start_line":7,"start_character":47,"end_line":7,"end_character":77},"in_reply_to":"3fa7e38b_6be6a3ea","updated":"2019-12-18 02:13:36.000000000","message":"updated","commit_id":"3de549af724cce629623907ced71924afa55eb34"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"1da6bbcfbcf506887e4955f49a90ed15ce32d666","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update helm-toolkit db-init script and manifest for both mysql and postgresql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  * Add the ability to create a mysql user with specific permision on specific table"},{"line_number":10,"context_line":"  * Add the ability to create a postgres user with specific permision on specific table"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I081c0d21e12206ec2cd39f7b08e4fabbbc63b421"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_ebbcd3b6","line":9,"range":{"start_line":9,"start_character":57,"end_line":9,"end_character":66},"updated":"2019-12-16 17:14:53.000000000","message":"permission","commit_id":"3de549af724cce629623907ced71924afa55eb34"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"0db0738043796d12badf97c24a53294a79f59dc5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update helm-toolkit db-init script and manifest for both mysql and postgresql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  * Add the ability to create a mysql user with specific permision on specific table"},{"line_number":10,"context_line":"  * Add the ability to create a postgres user with specific permision on specific table"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I081c0d21e12206ec2cd39f7b08e4fabbbc63b421"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_1deab973","line":9,"range":{"start_line":9,"start_character":57,"end_line":9,"end_character":66},"in_reply_to":"3fa7e38b_ebbcd3b6","updated":"2019-12-18 02:13:36.000000000","message":"updated","commit_id":"3de549af724cce629623907ced71924afa55eb34"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"1da6bbcfbcf506887e4955f49a90ed15ce32d666","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update helm-toolkit db-init script and manifest for both mysql and postgresql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  * Add the ability to create a mysql user with specific permision on specific table"},{"line_number":10,"context_line":"  * Add the ability to create a postgres user with specific permision on specific table"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I081c0d21e12206ec2cd39f7b08e4fabbbc63b421"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_8bd75ff5","line":10,"range":{"start_line":10,"start_character":60,"end_line":10,"end_character":69},"updated":"2019-12-16 17:14:53.000000000","message":"permission","commit_id":"3de549af724cce629623907ced71924afa55eb34"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"0db0738043796d12badf97c24a53294a79f59dc5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update helm-toolkit db-init script and manifest for both mysql and postgresql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  * Add the ability to create a mysql user with specific permision on specific table"},{"line_number":10,"context_line":"  * Add the ability to create a postgres user with specific permision on specific table"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I081c0d21e12206ec2cd39f7b08e4fabbbc63b421"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_bdfe0537","line":10,"range":{"start_line":10,"start_character":60,"end_line":10,"end_character":69},"in_reply_to":"3fa7e38b_8bd75ff5","updated":"2019-12-18 02:13:36.000000000","message":"updated","commit_id":"3de549af724cce629623907ced71924afa55eb34"}],"helm-toolkit/templates/manifests/_job-db-init-mysql.tpl":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ead1a4b0252d8e88f0e4247c54b7ba3cc253e85b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"{{- $configMapEtc :\u003d index . \"configMapEtc\" | default (printf \"%s-%s\" $serviceName \"etc\" ) -}}"},{"line_number":33,"context_line":"{{- $dbToInit :\u003d index . \"dbToInit\" | default ( dict \"adminSecret\" $envAll.Values.secrets.oslo_db.admin \"configFile\" (printf \"/etc/%s/%s.conf\" $serviceName $serviceName ) \"logConfigFile\" (printf \"/etc/%s/logging.conf\" $serviceName ) \"configDbSection\" \"database\" \"configDbKey\" \"connection\" ) -}}"},{"line_number":34,"context_line":"{{- $dbsToInit :\u003d default (list $dbToInit) (index . \"dbsToInit\") }}"},{"line_number":35,"context_line":"{{- $secretBin :\u003d index . \"secretBin\" -}}"},{"line_number":36,"context_line":"{{- $backoffLimit :\u003d index . \"backoffLimit\" | default \"6\" -}}"},{"line_number":37,"context_line":"{{- $activeDeadlineSeconds :\u003d index . \"activeDeadlineSeconds\" -}}"},{"line_number":38,"context_line":"{{- $serviceNamePretty :\u003d $serviceName | replace \"_\" \"-\" -}}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"{{- $serviceAccountName :\u003d printf \"%s-%s\" $serviceNamePretty \"db-init\" }}"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"7faddb67_763700e5","side":"PARENT","line":37,"range":{"start_line":35,"start_character":0,"end_line":37,"end_character":65},"updated":"2019-08-29 19:44:43.000000000","message":"why are these removed?","commit_id":"2d5684fddcba8aa3a1cdddeeda475448a88ce654"},{"author":{"_account_id":28875,"name":"Koffi Nogbe","email":"kn4078@att.com","username":"kn4078"},"change_message_id":"24b7892025a5f4c96fcea5843cd1eeddda22d94f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"{{- $configMapEtc :\u003d index . \"configMapEtc\" | default (printf \"%s-%s\" $serviceName \"etc\" ) -}}"},{"line_number":33,"context_line":"{{- $dbToInit :\u003d index . \"dbToInit\" | default ( dict \"adminSecret\" $envAll.Values.secrets.oslo_db.admin \"configFile\" (printf \"/etc/%s/%s.conf\" $serviceName $serviceName ) \"logConfigFile\" (printf \"/etc/%s/logging.conf\" $serviceName ) \"configDbSection\" \"database\" \"configDbKey\" \"connection\" ) -}}"},{"line_number":34,"context_line":"{{- $dbsToInit :\u003d default (list $dbToInit) (index . \"dbsToInit\") }}"},{"line_number":35,"context_line":"{{- $secretBin :\u003d index . \"secretBin\" -}}"},{"line_number":36,"context_line":"{{- $backoffLimit :\u003d index . \"backoffLimit\" | default \"6\" -}}"},{"line_number":37,"context_line":"{{- $activeDeadlineSeconds :\u003d index . \"activeDeadlineSeconds\" -}}"},{"line_number":38,"context_line":"{{- $serviceNamePretty :\u003d $serviceName | replace \"_\" \"-\" -}}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"{{- $serviceAccountName :\u003d printf \"%s-%s\" $serviceNamePretty \"db-init\" }}"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"7faddb67_f6877060","side":"PARENT","line":37,"range":{"start_line":35,"start_character":0,"end_line":37,"end_character":65},"in_reply_to":"7faddb67_763700e5","updated":"2019-08-29 19:47:43.000000000","message":"Those are not removed. Let me make sure what happen.","commit_id":"2d5684fddcba8aa3a1cdddeeda475448a88ce654"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"6da6a88882506418d81cfc5cdf00b2a8894965a7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"{{- $nodeSelector :\u003d index . \"nodeSelector\" | default ( dict $envAll.Values.labels.job.node_selector_key $envAll.Values.labels.job.node_selector_value ) -}}"},{"line_number":35,"context_line":"{{- $configMapBin :\u003d index . \"configMapBin\" | default (printf \"%s-%s\" $serviceName \"bin\" ) -}}"},{"line_number":36,"context_line":"{{- $configMapEtc :\u003d index . \"configMapEtc\" | default (printf \"%s-%s\" $serviceName \"etc\" ) -}}"},{"line_number":37,"context_line":"{{- $dbUserPerm :\u003d index . \"dbUserPerm\" | default (dict \"userPerm\" ( dict \"permission\" \"ALL\" \"table\" ( \"*\" | quote ))) }}"},{"line_number":38,"context_line":"{{- $dbToInit :\u003d index . \"dbToInit\" | default ( dict \"adminSecret\" $envAll.Values.secrets.oslo_db.admin \"configFile\" (printf \"/etc/%s/%s.conf\" $serviceName $serviceName ) \"logConfigFile\" (printf \"/etc/%s/logging.conf\" $serviceName ) \"configDbSection\" \"database\" \"configDbKey\" \"connection\" ) -}}"},{"line_number":39,"context_line":"{{- $dbsToInit :\u003d default (list $dbToInit) (index . \"dbsToInit\") }}"},{"line_number":40,"context_line":"{{- $secretBin :\u003d index . \"secretBin\" -}}"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"7faddb67_df74c79e","line":37,"range":{"start_line":37,"start_character":41,"end_line":37,"end_character":117},"updated":"2019-08-29 22:42:53.000000000","message":"why not use two different variable instead of constructing this dictionary? also the script aleady provide a default - do we need another default?","commit_id":"6d3b36499b152b91df293437f4e313ebd08f313b"}],"helm-toolkit/templates/scripts/_db-init.py.tpl":[{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"be2bf7c36b2eb7cbeb5939f5d818bd514417d959","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    root_engine.execute("},{"line_number":139,"context_line":"        \"GRANT {0} ON `{1}`.{2} TO \\\u0027{3}\\\u0027@\\\u0027%%\\\u0027 IDENTIFIED BY \\\u0027{4}\\\u0027\".format("},{"line_number":140,"context_line":"            user_permissions, database, table, user, password))"},{"line_number":141,"context_line":"    logger.info(\"Created user {0} for {1}\".format(user, database))"},{"line_number":142,"context_line":"except:"},{"line_number":143,"context_line":"    logger.critical(\"Could not create user {0} for {1}\".format(user, database))"},{"line_number":144,"context_line":"    raise"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"7faddb67_b60ed8e1","line":141,"range":{"start_line":141,"start_character":0,"end_line":141,"end_character":66},"updated":"2019-08-29 20:06:35.000000000","message":"Might be useful debug info to print the permissions the users have on the various databases.","commit_id":"879f1a41b5de95eb796ba58b980343768ade739d"},{"author":{"_account_id":28875,"name":"Koffi Nogbe","email":"kn4078@att.com","username":"kn4078"},"change_message_id":"ffa8400b7d4c5aa237eff8c607845137ea481172","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    root_engine.execute("},{"line_number":139,"context_line":"        \"GRANT {0} ON `{1}`.{2} TO \\\u0027{3}\\\u0027@\\\u0027%%\\\u0027 IDENTIFIED BY \\\u0027{4}\\\u0027\".format("},{"line_number":140,"context_line":"            user_permissions, database, table, user, password))"},{"line_number":141,"context_line":"    logger.info(\"Created user {0} for {1}\".format(user, database))"},{"line_number":142,"context_line":"except:"},{"line_number":143,"context_line":"    logger.critical(\"Could not create user {0} for {1}\".format(user, database))"},{"line_number":144,"context_line":"    raise"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"7faddb67_d99947d0","line":141,"range":{"start_line":141,"start_character":0,"end_line":141,"end_character":66},"in_reply_to":"7faddb67_b60ed8e1","updated":"2019-08-29 20:37:33.000000000","message":"Agree","commit_id":"879f1a41b5de95eb796ba58b980343768ade739d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"6da6a88882506418d81cfc5cdf00b2a8894965a7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"else:"},{"line_number":54,"context_line":"    logger.critical(\u0027environment variable ROOT_DB_CONNECTION not set\u0027)"},{"line_number":55,"context_line":"    sys.exit(1)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"if \"DB_USER_PERMISSIONS\" in os.environ:"},{"line_number":58,"context_line":"    user_permissions \u003d os.environ[\u0027DB_USER_PERMISSIONS\u0027]"},{"line_number":59,"context_line":"else:"},{"line_number":60,"context_line":"    user_permissions \u003d \u0027ALL\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"if \"DB_TABLE\" in os.environ:"},{"line_number":63,"context_line":"    table \u003d os.environ[\u0027DB_TABLE\u0027]"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"7faddb67_bf6f8bc2","line":60,"range":{"start_line":56,"start_character":0,"end_line":60,"end_character":28},"updated":"2019-08-29 22:42:53.000000000","message":"why not\n\n   os.getenv(\u0027DB_USER_PERMISSIONS\u0027, \u0027ALL\u0027)","commit_id":"6d3b36499b152b91df293437f4e313ebd08f313b"},{"author":{"_account_id":28875,"name":"Koffi Nogbe","email":"kn4078@att.com","username":"kn4078"},"change_message_id":"af36453c76f9e40748b42df9a8177cfbe68afee4","unresolved":false,"context_lines":[{"line_number":53,"context_line":"else:"},{"line_number":54,"context_line":"    logger.critical(\u0027environment variable ROOT_DB_CONNECTION not set\u0027)"},{"line_number":55,"context_line":"    sys.exit(1)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"if \"DB_USER_PERMISSIONS\" in os.environ:"},{"line_number":58,"context_line":"    user_permissions \u003d os.environ[\u0027DB_USER_PERMISSIONS\u0027]"},{"line_number":59,"context_line":"else:"},{"line_number":60,"context_line":"    user_permissions \u003d \u0027ALL\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"if \"DB_TABLE\" in os.environ:"},{"line_number":63,"context_line":"    table \u003d os.environ[\u0027DB_TABLE\u0027]"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"7faddb67_ed3b0b98","line":60,"range":{"start_line":56,"start_character":0,"end_line":60,"end_character":28},"in_reply_to":"7faddb67_bf6f8bc2","updated":"2019-09-03 16:13:49.000000000","message":"Either is fine. Just following the current logic flow of the current code.","commit_id":"6d3b36499b152b91df293437f4e313ebd08f313b"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"6da6a88882506418d81cfc5cdf00b2a8894965a7","unresolved":false,"context_lines":[{"line_number":59,"context_line":"else:"},{"line_number":60,"context_line":"    user_permissions \u003d \u0027ALL\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"if \"DB_TABLE\" in os.environ:"},{"line_number":63,"context_line":"    table \u003d os.environ[\u0027DB_TABLE\u0027]"},{"line_number":64,"context_line":"else:"},{"line_number":65,"context_line":"    table \u003d \"*\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"# Get the connection string for the service db"},{"line_number":68,"context_line":"if \"OPENSTACK_CONFIG_FILE\" in os.environ:"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"7faddb67_5f68d7b8","line":65,"range":{"start_line":62,"start_character":0,"end_line":65,"end_character":15},"updated":"2019-08-29 22:42:53.000000000","message":"ditto","commit_id":"6d3b36499b152b91df293437f4e313ebd08f313b"},{"author":{"_account_id":28875,"name":"Koffi Nogbe","email":"kn4078@att.com","username":"kn4078"},"change_message_id":"af36453c76f9e40748b42df9a8177cfbe68afee4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"else:"},{"line_number":60,"context_line":"    user_permissions \u003d \u0027ALL\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"if \"DB_TABLE\" in os.environ:"},{"line_number":63,"context_line":"    table \u003d os.environ[\u0027DB_TABLE\u0027]"},{"line_number":64,"context_line":"else:"},{"line_number":65,"context_line":"    table \u003d \"*\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"# Get the connection string for the service db"},{"line_number":68,"context_line":"if \"OPENSTACK_CONFIG_FILE\" in os.environ:"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"7faddb67_0d41c70a","line":65,"range":{"start_line":62,"start_character":0,"end_line":65,"end_character":15},"in_reply_to":"7faddb67_5f68d7b8","updated":"2019-09-03 16:13:49.000000000","message":"same","commit_id":"6d3b36499b152b91df293437f4e313ebd08f313b"}],"helm-toolkit/templates/scripts/_db-pg-init.sh.tpl":[{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"be2bf7c36b2eb7cbeb5939f5d818bd514417d959","unresolved":false,"context_lines":[{"line_number":37,"context_line":"elif [[ ! -v USER_DB_NAME ]]; then"},{"line_number":38,"context_line":"    echo \"environment variable USER_DB_NAME not set\""},{"line_number":39,"context_line":"    exit 1"},{"line_number":40,"context_line":"elif [[ ! -v USER_DB_PERMISSIONS ]]; then"},{"line_number":41,"context_line":"    echo \"environment variable USER_DB_PERMISSIONS not set, Default to ALL\""},{"line_number":42,"context_line":"    USER_DB_PERMISSIONS\u003dALL"},{"line_number":43,"context_line":"elif [[ ! -v USER_DB_TABLE ]]; then"},{"line_number":44,"context_line":"    echo \"environment variable USER_DB_TABLE not set default to *\""},{"line_number":45,"context_line":"    USER_DB_TABLE\u003d*"},{"line_number":46,"context_line":"else"},{"line_number":47,"context_line":"    echo \"Got DB connection info\""},{"line_number":48,"context_line":"fi"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"7faddb67_b6aa5881","line":45,"range":{"start_line":40,"start_character":0,"end_line":45,"end_character":19},"updated":"2019-08-29 20:06:35.000000000","message":"Since it appears to be *ok* if these two environment variables are not defined, I suggest to break them out into their own separate if clauses. Because, the way it is above, if USER_DB_PERMISSIONS isn\u0027t defined, then the USER_DB_TABLE variable won\u0027t even be checked.  And line 47 will not get echoed as well.","commit_id":"879f1a41b5de95eb796ba58b980343768ade739d"},{"author":{"_account_id":28875,"name":"Koffi Nogbe","email":"kn4078@att.com","username":"kn4078"},"change_message_id":"ffa8400b7d4c5aa237eff8c607845137ea481172","unresolved":false,"context_lines":[{"line_number":37,"context_line":"elif [[ ! -v USER_DB_NAME ]]; then"},{"line_number":38,"context_line":"    echo \"environment variable USER_DB_NAME not set\""},{"line_number":39,"context_line":"    exit 1"},{"line_number":40,"context_line":"elif [[ ! -v USER_DB_PERMISSIONS ]]; then"},{"line_number":41,"context_line":"    echo \"environment variable USER_DB_PERMISSIONS not set, Default to ALL\""},{"line_number":42,"context_line":"    USER_DB_PERMISSIONS\u003dALL"},{"line_number":43,"context_line":"elif [[ ! -v USER_DB_TABLE ]]; then"},{"line_number":44,"context_line":"    echo \"environment variable USER_DB_TABLE not set default to *\""},{"line_number":45,"context_line":"    USER_DB_TABLE\u003d*"},{"line_number":46,"context_line":"else"},{"line_number":47,"context_line":"    echo \"Got DB connection info\""},{"line_number":48,"context_line":"fi"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"7faddb67_b97d6b6e","line":45,"range":{"start_line":40,"start_character":0,"end_line":45,"end_character":19},"in_reply_to":"7faddb67_b6aa5881","updated":"2019-08-29 20:37:33.000000000","message":"Agree","commit_id":"879f1a41b5de95eb796ba58b980343768ade739d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"1da6bbcfbcf506887e4955f49a90ed15ce32d666","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  --command\u003d\"${DB_COMMAND}\""},{"line_number":62,"context_line":"}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"test_connection() {"},{"line_number":65,"context_line":"  PGPASSWORD\u003d$2 PGDATABASE\u003dpostgres psql -U $1 -h $DB_HOST -tc \"SELECT 1\" \\"},{"line_number":66,"context_line":"  \u0026\u0026 echo \"Database connection successful\" \\"},{"line_number":67,"context_line":"  || echo \"Database connection failed\""}],"source_content_type":"text/x-smarty","patch_set":8,"id":"3fa7e38b_4bcba71c","line":64,"range":{"start_line":64,"start_character":0,"end_line":64,"end_character":19},"updated":"2019-12-16 17:14:53.000000000","message":"where is this used?","commit_id":"3de549af724cce629623907ced71924afa55eb34"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"0db0738043796d12badf97c24a53294a79f59dc5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  --command\u003d\"${DB_COMMAND}\""},{"line_number":62,"context_line":"}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"test_connection() {"},{"line_number":65,"context_line":"  PGPASSWORD\u003d$2 PGDATABASE\u003dpostgres psql -U $1 -h $DB_HOST -tc \"SELECT 1\" \\"},{"line_number":66,"context_line":"  \u0026\u0026 echo \"Database connection successful\" \\"},{"line_number":67,"context_line":"  || echo \"Database connection failed\""}],"source_content_type":"text/x-smarty","patch_set":8,"id":"3fa7e38b_3debf57b","line":64,"range":{"start_line":64,"start_character":0,"end_line":64,"end_character":19},"in_reply_to":"3fa7e38b_4bcba71c","updated":"2019-12-18 02:13:36.000000000","message":"added the test","commit_id":"3de549af724cce629623907ced71924afa55eb34"}]}
