Compare commits

..
Author SHA1 Message Date
Brandon Thomas b3da60aa3a cleanup pathing (still wip) 2024-07-10 20:58:39 -04:00
Brandon Thomas 342ab2302c refactor worker (wip) 2024-07-10 19:11:28 -04:00
1139 changed files with 7121 additions and 43208 deletions
+1 -2
View File
@@ -12,9 +12,8 @@ db.secrets
db_secrets.toml
env-secrets
production_database_secret_connect.sh
production_database_secret_query.sh
script/production_database_secret_backup.sh
script/production_database_secret_connect.sh
production_database_secret_query.sh
production_database_voice_clone_report_download.sh
secrets.toml
secrets.yaml
-3
View File
@@ -3,8 +3,6 @@
<words>
<w>arpabet</w>
<w>backfill</w>
<w>backfilling</w>
<w>backfills</w>
<w>blendshapes</w>
<w>canonicalized</w>
<w>canonicalizing</w>
@@ -50,7 +48,6 @@
<w>unpermitted</w>
<w>upserting</w>
<w>upserts</w>
<w>upvoted</w>
<w>vits</w>
<w>vocoded</w>
<w>vocoder</w>
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_migration_new_model_weights_token,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE tts.token = ?\n ",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE\n tts.token = ?\n AND tts.user_deleted_at IS NULL\n AND tts.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -265,16 +265,6 @@
},
{
"ordinal": 26,
"name": "maybe_migration_new_model_weights_token",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 27,
"name": "maybe_custom_vocoder_token",
"type_info": {
"type": "VarString",
@@ -284,7 +274,7 @@
}
},
{
"ordinal": 28,
"ordinal": 27,
"name": "maybe_custom_vocoder_title",
"type_info": {
"type": "VarString",
@@ -294,7 +284,7 @@
}
},
{
"ordinal": 29,
"ordinal": 28,
"name": "maybe_custom_vocoder_creator_user_token",
"type_info": {
"type": "VarString",
@@ -304,7 +294,7 @@
}
},
{
"ordinal": 30,
"ordinal": 29,
"name": "maybe_custom_vocoder_creator_username",
"type_info": {
"type": "VarString",
@@ -314,7 +304,7 @@
}
},
{
"ordinal": 31,
"ordinal": 30,
"name": "maybe_custom_vocoder_creator_display_name",
"type_info": {
"type": "VarString",
@@ -324,7 +314,7 @@
}
},
{
"ordinal": 32,
"ordinal": 31,
"name": "maybe_custom_vocoder_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -334,7 +324,7 @@
}
},
{
"ordinal": 33,
"ordinal": 32,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -344,7 +334,7 @@
}
},
{
"ordinal": 34,
"ordinal": 33,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -354,7 +344,7 @@
}
},
{
"ordinal": 35,
"ordinal": 34,
"name": "creator_ip_address_creation",
"type_info": {
"type": "VarString",
@@ -364,7 +354,7 @@
}
},
{
"ordinal": 36,
"ordinal": 35,
"name": "creator_ip_address_last_update",
"type_info": {
"type": "VarString",
@@ -374,7 +364,7 @@
}
},
{
"ordinal": 37,
"ordinal": 36,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -384,7 +374,7 @@
}
},
{
"ordinal": 38,
"ordinal": 37,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -430,7 +420,6 @@
true,
true,
true,
true,
false,
false,
false,
@@ -439,5 +428,5 @@
true
]
},
"hash": "d2d05678aa1c4c3b2d95bbb2ed563c2fc8b587c0480354a42f11409d9671afbe"
"hash": "0049a4b3dd3770564c3a466ade7479f0a11508bd4a48b2344b28ff0a20e0b9ca"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w_extension.ietf_language_tag as maybe_ietf_language_tag,\n w_extension.ietf_primary_language_subtag as maybe_ietf_primary_language_subtag,\n w_extension.maybe_default_pretrained_vocoder as `maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType`,\n w_extension.text_pipeline_type as maybe_text_pipeline_type,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n\n LEFT OUTER JOIN model_weights_extension_tts_details as w_extension\n ON w_extension.model_weights_token = wt.token\n\n WHERE\n wt.maybe_migration_old_model_token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -265,46 +265,6 @@
},
{
"ordinal": 26,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 27,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 28,
"name": "maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 29,
"name": "maybe_text_pipeline_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
@@ -314,7 +274,7 @@
}
},
{
"ordinal": 31,
"ordinal": 27,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -324,7 +284,7 @@
}
},
{
"ordinal": 32,
"ordinal": 28,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -334,7 +294,7 @@
}
},
{
"ordinal": 33,
"ordinal": 29,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -344,7 +304,7 @@
}
},
{
"ordinal": 34,
"ordinal": 30,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -384,10 +344,6 @@
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
@@ -395,5 +351,5 @@
true
]
},
"hash": "bde5d2fed3508fb2c289fe583f35b0d6e6bb38d15da0271aaed761cbc342dac3"
"hash": "0220f288c06686874df87ec163533be64cc000634920d58e7fa7a7d156cbfcae"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n maybe_origin_model_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_style_transfer_source_media_file_token = ?,\n maybe_scene_source_media_file_token = ?,\n\n maybe_title = ?,\n maybe_prompt_token = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 25
},
"nullable": []
},
"hash": "039c24023c93deacc0b09fbbfe747821ba9f7e06bc17f651628edf1a82f5feb6"
}
@@ -0,0 +1,47 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n maybe_model_type as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\n FROM (\n SELECT\n token,\n maybe_model_type\n FROM generic_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n AND maybe_model_type IS NOT NULL\n UNION\n SELECT\n token,\n maybe_model_type\n FROM generic_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n AND maybe_model_type IS NOT NULL\n) as generic_inner\nGROUP BY queue_type\nUNION\nSELECT\n \"legacy_tts\" as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\nFROM (\n SELECT\n token\n FROM tts_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n UNION\n SELECT\n token\n FROM tts_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n) as legacy_inner\nGROUP BY queue_type\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "queue_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "pending_job_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
},
{
"ordinal": 2,
"name": "present_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL",
"char_set": 224,
"max_size": 76
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
true,
false,
false
]
},
"hash": "074307d7cd5c9a6f27e4d5ecce3072dcd13914a6f7f5f27f0f7232ae6c4813b4"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\n UPDATE model_weights\n SET\n cached_usage_count = ?,\n updated_at = updated_at\n WHERE token = ?\n LIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "29821815aab3a511e67aa29de17e7ccae17d71a7d88230221eb6b2ce6bde5edb"
}
@@ -1,399 +0,0 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.maybe_ietf_language_tag,\n wt.maybe_ietf_primary_language_subtag,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n wt.cached_usage_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n LEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = wt.token\n AND featured_items.deleted_at IS NULL\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "title",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 4,
"name": "maybe_description_markdown",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 5,
"name": "maybe_description_rendered_html",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 7,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 8,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 9,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 10,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 12,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 13,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 15,
"name": "original_download_url",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 2048
}
},
{
"ordinal": 16,
"name": "original_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 17,
"name": "file_size_bytes",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 18,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 19,
"name": "public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 20,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 21,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 23,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 24,
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 25,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 26,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 27,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 28,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
},
{
"ordinal": 29,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 11
}
},
{
"ordinal": 31,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 32,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 33,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 34,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false,
true,
true,
true,
true,
false,
false,
false,
false,
false,
false,
true,
true,
true,
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
false,
false,
true,
true
]
},
"hash": "29fe7f8464257537840d7f095ec01f850d79f970109549d14978fc3bed7cef32"
}
@@ -1,36 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n t.token as `token: tokens::tokens::tags::TagToken`,\n t.tag_value\n\nFROM\n tags AS t\nJOIN tag_uses AS u\n ON t.token = u.tag_token\nWHERE\n u.entity_type = ?\n AND u.entity_token = ?\n AND u.maybe_deleted_at IS NULL\nORDER BY t.id DESC\nLIMIT 500\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::tags::TagToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "tag_value",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
}
],
"parameters": {
"Right": 2
},
"nullable": [
false,
false
]
},
"hash": "3929e9fe74e75fad7252681880c6c3bd7e76e96b0bf603f77f6a9b2d4fcda18d"
}
@@ -1,25 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n COUNT(*) as record_count\n FROM media_files as f\n left outer join model_weights as w\n on f.maybe_origin_model_token = w.token\n left outer join model_weights as w_old\n on f.maybe_origin_model_token = w_old.maybe_migration_old_model_token\n WHERE (w.token = ? OR w_old.token = ?)\n AND f.created_at >= ?\n AND f.created_at < ? + INTERVAL 1 DAY\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "record_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
}
],
"parameters": {
"Right": 4
},
"nullable": [
false
]
},
"hash": "3bbfaf131b5228c10320e915f553f845142920b16dc7d36f8640481760405d96"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nDELETE FROM tag_uses\nWHERE entity_type = ?\nAND entity_token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "41b16ccf04ef1ffb8b48bc59edf9389f61f54b871f6361f35529706b98d419ec"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO users\nSET\n token = ?,\n username = ?,\n display_name = ?,\n\n username_is_generated = ?,\n username_is_not_customized = ?,\n\n email_address = ?,\n email_gravatar_hash = ?,\n\n email_confirmed = FALSE,\n email_confirmed_by_google = ?,\n\n profile_markdown = ?,\n profile_rendered_html = ?,\n user_role_slug = ?,\n\n password_hash = ?,\n is_without_password = ?,\n\n maybe_feature_flags = ?,\n\n ip_address_creation = ?,\n ip_address_last_login = ?,\n ip_address_last_update = ?,\n\n maybe_source = ?,\n\n maybe_signup_method = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 19
},
"nullable": []
},
"hash": "453f0386cfe34e533501ba29dc2022fc449266f9858f16886bde9a0df6b82026"
}
@@ -1,25 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT NOW() as database_time\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "database_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
false
]
},
"hash": "47a6c402aad596530aef2c71c1e621bf73a386d754a79c5150cd30dc8ee2170f"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_migration_new_model_weights_token,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE\n tts.token = ?\n AND tts.user_deleted_at IS NULL\n AND tts.mod_deleted_at IS NULL\n ",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE tts.token = ?\n ",
"describe": {
"columns": [
{
@@ -265,16 +265,6 @@
},
{
"ordinal": 26,
"name": "maybe_migration_new_model_weights_token",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 27,
"name": "maybe_custom_vocoder_token",
"type_info": {
"type": "VarString",
@@ -284,7 +274,7 @@
}
},
{
"ordinal": 28,
"ordinal": 27,
"name": "maybe_custom_vocoder_title",
"type_info": {
"type": "VarString",
@@ -294,7 +284,7 @@
}
},
{
"ordinal": 29,
"ordinal": 28,
"name": "maybe_custom_vocoder_creator_user_token",
"type_info": {
"type": "VarString",
@@ -304,7 +294,7 @@
}
},
{
"ordinal": 30,
"ordinal": 29,
"name": "maybe_custom_vocoder_creator_username",
"type_info": {
"type": "VarString",
@@ -314,7 +304,7 @@
}
},
{
"ordinal": 31,
"ordinal": 30,
"name": "maybe_custom_vocoder_creator_display_name",
"type_info": {
"type": "VarString",
@@ -324,7 +314,7 @@
}
},
{
"ordinal": 32,
"ordinal": 31,
"name": "maybe_custom_vocoder_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -334,7 +324,7 @@
}
},
{
"ordinal": 33,
"ordinal": 32,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -344,7 +334,7 @@
}
},
{
"ordinal": 34,
"ordinal": 33,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -354,7 +344,7 @@
}
},
{
"ordinal": 35,
"ordinal": 34,
"name": "creator_ip_address_creation",
"type_info": {
"type": "VarString",
@@ -364,7 +354,7 @@
}
},
{
"ordinal": 36,
"ordinal": 35,
"name": "creator_ip_address_last_update",
"type_info": {
"type": "VarString",
@@ -374,7 +364,7 @@
}
},
{
"ordinal": 37,
"ordinal": 36,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -384,7 +374,7 @@
}
},
{
"ordinal": 38,
"ordinal": 37,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -430,7 +420,6 @@
true,
true,
true,
true,
false,
false,
false,
@@ -439,5 +428,5 @@
true
]
},
"hash": "295ac99103e49c817d545d5a7b8a819a839885245c60f8ce2c13a73155917942"
"hash": "481493c8b377197b5f596d7ee842ab4b580da384a2fa8ed330082515b7990d58"
}
@@ -1,399 +0,0 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.maybe_ietf_language_tag,\n wt.maybe_ietf_primary_language_subtag,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n wt.cached_usage_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n LEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = wt.token\n AND featured_items.deleted_at IS NULL\n WHERE\n wt.token = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "title",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 4,
"name": "maybe_description_markdown",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 5,
"name": "maybe_description_rendered_html",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 7,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 8,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 9,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 10,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 11,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 12,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 13,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 14,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 15,
"name": "original_download_url",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 2048
}
},
{
"ordinal": 16,
"name": "original_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 17,
"name": "file_size_bytes",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 18,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 19,
"name": "public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 20,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 21,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 23,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 24,
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 25,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 26,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 27,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 28,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
},
{
"ordinal": 29,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 11
}
},
{
"ordinal": 31,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 32,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 33,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 34,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false,
true,
true,
true,
true,
false,
false,
false,
false,
false,
false,
true,
true,
true,
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
false,
false,
true,
true
]
},
"hash": "53c90f5230aa202aead37a224ec70e350172bc0ec4eeaebde22878ca4aa0f695"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_user_upload = TRUE,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n\nON DUPLICATE KEY UPDATE\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_user_upload = TRUE,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 39
},
"nullable": []
},
"hash": "55706e6ac35be221b9d9c6e8b247812944c61941964bb53815d31dc30d506be8"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n display_name,\n username_is_not_customized,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned,\n maybe_feature_flags\nFROM users\nWHERE username = ?\nLIMIT 1\n ",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned\nFROM users\nWHERE username = ?\nLIMIT 1\n ",
"describe": {
"columns": [
{
@@ -25,26 +25,6 @@
},
{
"ordinal": 2,
"name": "display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 3,
"name": "username_is_not_customized",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 4,
"name": "email_address",
"type_info": {
"type": "VarString",
@@ -54,8 +34,8 @@
}
},
{
"ordinal": 5,
"name": "password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes",
"ordinal": 3,
"name": "password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
@@ -64,7 +44,7 @@
}
},
{
"ordinal": 6,
"ordinal": 4,
"name": "password_version",
"type_info": {
"type": "Long",
@@ -74,7 +54,7 @@
}
},
{
"ordinal": 7,
"ordinal": 5,
"name": "is_banned",
"type_info": {
"type": "Tiny",
@@ -82,16 +62,6 @@
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 8,
"name": "maybe_feature_flags",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
}
],
"parameters": {
@@ -103,11 +73,8 @@
false,
false,
false,
false,
false,
false,
true
false
]
},
"hash": "2bc80729a61545b39cc633ca79af612ce611d358b32149405340d985060d4bbe"
"hash": "5795b8579a458706077b1fa95e4627b90eac6606bde543b6406233d081fd0eb5"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO users (\n token,\n username,\n display_name,\n email_address,\n email_gravatar_hash,\n profile_markdown,\n profile_rendered_html,\n user_role_slug,\n password_hash,\n ip_address_creation,\n ip_address_last_login,\n ip_address_last_update,\n maybe_source\n)\nVALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 13
},
"nullable": []
},
"hash": "58a2d6d0c5541049cc954e3ac09b3aaef894ca55e1cb7444b72f429394022f12"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.is_user_upload,\n m.is_intermediate_system_file,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.extra_file_modification_info,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -255,26 +255,6 @@
},
{
"ordinal": 25,
"name": "is_user_upload",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 26,
"name": "is_intermediate_system_file",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 27,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
@@ -284,7 +264,7 @@
}
},
{
"ordinal": 28,
"ordinal": 26,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
@@ -294,7 +274,7 @@
}
},
{
"ordinal": 29,
"ordinal": 27,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
@@ -304,7 +284,7 @@
}
},
{
"ordinal": 30,
"ordinal": 28,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
@@ -314,7 +294,7 @@
}
},
{
"ordinal": 31,
"ordinal": 29,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -324,7 +304,7 @@
}
},
{
"ordinal": 32,
"ordinal": 30,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -334,7 +314,7 @@
}
},
{
"ordinal": 33,
"ordinal": 31,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -344,7 +324,7 @@
}
},
{
"ordinal": 34,
"ordinal": 32,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -354,7 +334,7 @@
}
},
{
"ordinal": 35,
"ordinal": 33,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
@@ -364,7 +344,7 @@
}
},
{
"ordinal": 36,
"ordinal": 34,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
@@ -374,7 +354,7 @@
}
},
{
"ordinal": 37,
"ordinal": 35,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -384,17 +364,7 @@
}
},
{
"ordinal": 38,
"name": "extra_file_modification_info",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 39,
"ordinal": 36,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -404,7 +374,7 @@
}
},
{
"ordinal": 40,
"ordinal": 37,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -414,7 +384,7 @@
}
},
{
"ordinal": 41,
"ordinal": 38,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -424,7 +394,7 @@
}
},
{
"ordinal": 42,
"ordinal": 39,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -434,7 +404,7 @@
}
},
{
"ordinal": 43,
"ordinal": 40,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -444,7 +414,7 @@
}
},
{
"ordinal": 44,
"ordinal": 41,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
@@ -454,7 +424,7 @@
}
},
{
"ordinal": 45,
"ordinal": 42,
"name": "is_featured",
"type_info": {
"type": "LongLong",
@@ -464,21 +434,21 @@
}
},
{
"ordinal": 46,
"ordinal": 43,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 47,
"ordinal": 44,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
@@ -513,9 +483,6 @@
true,
true,
false,
false,
false,
true,
true,
true,
true,
@@ -538,5 +505,5 @@
false
]
},
"hash": "57fa22e6cd4e82b801605c96eac21babd78df3df361b3be566993b78a46efef2"
"hash": "58cb3fd03fb215b1d323f6aa6a5fd713900b9d931700c4226a1d9713b5e469c7"
}
@@ -1,25 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n sum(usage_count) as total_usage_count\nFROM\n model_weight_usage_counts\nWHERE\n token = ?\nGROUP BY token\nLIMIT 1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "total_usage_count",
"type_info": {
"type": "NewDecimal",
"flags": "BINARY",
"char_set": 63,
"max_size": 33
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
true
]
},
"hash": "5c95ce504e15853d238e8133753efe45180c9ee57f9f5431be9c1e88a77e4824"
}
@@ -1,36 +0,0 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n cached_usage_count\n FROM model_weights\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
false,
false
]
},
"hash": "5f24dfda13a53f434f87e9826a3a943bf29f58d85a6efb35c1b9ea9e94785ec9"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n w.id,\n w.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n\n w.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n w.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n w.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n w.title,\n\n w.maybe_ietf_language_tag,\n w.maybe_ietf_primary_language_subtag,\n\n cover_image.token as `maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n w.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w.cached_usage_count,\n\n extension_tts.ietf_language_tag as maybe_tts_ietf_language_tag,\n extension_tts.ietf_primary_language_subtag as maybe_tts_ietf_primary_language_subtag,\n\n extension_vc.ietf_language_tag as maybe_vc_ietf_language_tag,\n extension_vc.ietf_primary_language_subtag as maybe_vc_ietf_primary_language_subtag,\n\n w.created_at,\n w.updated_at,\n w.user_deleted_at,\n w.mod_deleted_at,\n\n NOW() as database_read_time\n\nFROM model_weights as w\n\nJOIN users\n ON users.token = w.creator_user_token\n\nLEFT OUTER JOIN model_weights_extension_tts_details as extension_tts\n ON extension_tts.model_weights_token = w.token\nLEFT OUTER JOIN model_weights_extension_voice_conversion_details as extension_vc\n ON extension_vc.model_weights_token = w.token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = w.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = w.maybe_cover_image_media_file_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = w.token\n AND featured_items.deleted_at IS NULL\n\nWHERE\n w.id > ?\nORDER BY id ASC\nLIMIT ?\n ",
"query": "\nSELECT\n w.id,\n w.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n\n w.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n w.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n w.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n w.title,\n\n cover_image.token as `maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n w.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n extension_tts.ietf_language_tag as maybe_tts_ietf_language_tag,\n extension_tts.ietf_primary_language_subtag as maybe_tts_ietf_primary_language_subtag,\n\n extension_vc.ietf_language_tag as maybe_vc_ietf_language_tag,\n extension_vc.ietf_primary_language_subtag as maybe_vc_ietf_primary_language_subtag,\n\n w.created_at,\n w.updated_at,\n w.user_deleted_at,\n w.mod_deleted_at\n\nFROM model_weights as w\n\nJOIN users\n ON users.token = w.creator_user_token\n\nLEFT OUTER JOIN model_weights_extension_tts_details as extension_tts\n ON extension_tts.model_weights_token = w.token\nLEFT OUTER JOIN model_weights_extension_voice_conversion_details as extension_vc\n ON extension_vc.model_weights_token = w.token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weights\"\n AND entity_stats.entity_token = w.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = w.maybe_cover_image_media_file_token\n\nWHERE\n w.id > ?\nORDER BY id ASC\nLIMIT ?\n ",
"describe": {
"columns": [
{
@@ -65,26 +65,6 @@
},
{
"ordinal": 6,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 7,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 8,
"name": "maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
@@ -94,7 +74,7 @@
}
},
{
"ordinal": 9,
"ordinal": 7,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -104,7 +84,7 @@
}
},
{
"ordinal": 10,
"ordinal": 8,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -114,7 +94,7 @@
}
},
{
"ordinal": 11,
"ordinal": 9,
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -124,7 +104,7 @@
}
},
{
"ordinal": 12,
"ordinal": 10,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -134,7 +114,7 @@
}
},
{
"ordinal": 13,
"ordinal": 11,
"name": "creator_username",
"type_info": {
"type": "VarString",
@@ -144,7 +124,7 @@
}
},
{
"ordinal": 14,
"ordinal": 12,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
@@ -154,7 +134,7 @@
}
},
{
"ordinal": 15,
"ordinal": 13,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -164,17 +144,7 @@
}
},
{
"ordinal": 16,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 17,
"ordinal": 14,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -184,7 +154,7 @@
}
},
{
"ordinal": 18,
"ordinal": 15,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -194,7 +164,7 @@
}
},
{
"ordinal": 19,
"ordinal": 16,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
@@ -204,17 +174,7 @@
}
},
{
"ordinal": 20,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
},
{
"ordinal": 21,
"ordinal": 17,
"name": "maybe_tts_ietf_language_tag",
"type_info": {
"type": "VarString",
@@ -224,7 +184,7 @@
}
},
{
"ordinal": 22,
"ordinal": 18,
"name": "maybe_tts_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
@@ -234,7 +194,7 @@
}
},
{
"ordinal": 23,
"ordinal": 19,
"name": "maybe_vc_ietf_language_tag",
"type_info": {
"type": "VarString",
@@ -244,7 +204,7 @@
}
},
{
"ordinal": 24,
"ordinal": 20,
"name": "maybe_vc_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
@@ -254,7 +214,7 @@
}
},
{
"ordinal": 25,
"ordinal": 21,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -264,7 +224,7 @@
}
},
{
"ordinal": 26,
"ordinal": 22,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -274,7 +234,7 @@
}
},
{
"ordinal": 27,
"ordinal": 23,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -284,7 +244,7 @@
}
},
{
"ordinal": 28,
"ordinal": 24,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -292,16 +252,6 @@
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 29,
"name": "database_read_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
@@ -318,9 +268,6 @@
true,
true,
true,
true,
true,
false,
false,
false,
false,
@@ -328,7 +275,6 @@
true,
true,
true,
false,
true,
true,
true,
@@ -336,9 +282,8 @@
false,
false,
true,
true,
false
true
]
},
"hash": "d0f9d2cf4176c3f7f8fbff66eb6ff9415d989afc2b5944629a7bcea4b5a822f3"
"hash": "6040227c139f6e2972734515b0a904d2a7b04bbf1a419677fc19287a0757ae21"
}
@@ -1,47 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n job_type as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\n FROM (\n SELECT\n token,\n job_type\n FROM generic_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n AND job_type IS NOT NULL\n UNION\n SELECT\n token,\n job_type\n FROM generic_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n AND job_type IS NOT NULL\n) as generic_inner\nGROUP BY queue_type\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "queue_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "pending_job_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
},
{
"ordinal": 2,
"name": "present_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
true,
false,
false
]
},
"hash": "73dc054488b2fa3efc923d3a90914a1450b73e99a377562484a0498ccce1676f"
}
@@ -1,168 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n g.token as `token: tokens::tokens::google_sign_in_accounts::GoogleSignInAccountToken`,\n\n g.subject,\n\n g.maybe_user_token as `maybe_user_token: tokens::tokens::users::UserToken`,\n\n g.email_address,\n g.is_email_verified,\n\n g.maybe_locale,\n g.maybe_name,\n g.maybe_given_name,\n g.maybe_family_name,\n\n g.created_at,\n g.updated_at,\n\n u.username as maybe_username,\n u.display_name as maybe_user_display_name,\n u.username_is_not_customized\n\nFROM google_sign_in_accounts AS g\nLEFT OUTER JOIN users AS u\n ON g.maybe_user_token = u.token\n\nWHERE\n g.subject = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::google_sign_in_accounts::GoogleSignInAccountToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "subject",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "maybe_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "email_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 4,
"name": "is_email_verified",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 5,
"name": "maybe_locale",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 6,
"name": "maybe_name",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 7,
"name": "maybe_given_name",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 8,
"name": "maybe_family_name",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 9,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 10,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 11,
"name": "maybe_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 12,
"name": "maybe_user_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 13,
"name": "username_is_not_customized",
"type_info": {
"type": "Tiny",
"flags": "",
"char_set": 63,
"max_size": 1
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
true,
false,
false,
true,
true,
true,
true,
false,
false,
true,
true,
true
]
},
"hash": "76d9a995b3cecfcb39f1a41bb4896c4e317716dbde6b5f678bd9fd458544ab78"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nUPDATE generic_inference_jobs\nSET\n status = 'cancelled_by_user',\n retry_at = NULL\nWHERE status IN (\n 'pending',\n 'started',\n 'attempt_failed'\n )\nLIMIT 100\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 0
},
"nullable": []
},
"hash": "84320887e8157a450ad46ec0843071c60c054eab61958a9148789ed76cd476e3"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO media_files\n SET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?, \n origin_product_category = ?, \n maybe_origin_model_type = ?, \n maybe_origin_model_token = ?, \n maybe_origin_filename = ?,\n\n is_batch_generated = ?,\n maybe_batch_token = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n maybe_duration_millis = ?,\n maybe_audio_encoding = ?, \n maybe_video_encoding = ?, \n maybe_frame_width = ?, \n maybe_frame_height = ?,\n maybe_prompt_token = ?,\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?, \n maybe_public_bucket_prefix = ?, \n maybe_public_bucket_extension = ?, \n extra_file_modification_info = ?, \n\n maybe_creator_user_token = ?, \n maybe_creator_anonymous_visitor_token = ?, \n\n creator_ip_address = ?, \n creator_set_visibility = ?, \n\n maybe_creator_file_synthetic_id = ?, \n maybe_creator_category_synthetic_id = ?,\n\n maybe_mod_user_token = ?, \n is_generated_on_prem = ?, \n generated_by_worker = ?, \n generated_by_cluster = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 33
},
"nullable": []
},
"hash": "870ce367da8e3beb53578c6e3d44ff686ef9a23932f4d90c9083acd702127960"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_title = ?,\n maybe_duration_millis = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_scene_source_media_file_token = ?,\n is_intermediate_system_file = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_user_upload = TRUE,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_title = ?,\n maybe_duration_millis = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_scene_source_media_file_token = ?,\n is_intermediate_system_file = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
@@ -8,5 +8,5 @@
},
"nullable": []
},
"hash": "28cac5883464613d29bedbf7308a71c258f1bf4abb8f5ca3ae320db34c137955"
"hash": "87f078eae38376e8d3bab9001908a5ac3a406ed79d8434ea452c194b56df80fe"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO model_weight_usage_counts\nSET\n token = ?,\n on_date = ?,\n usage_count = ?\n\n\nON DUPLICATE KEY UPDATE\n usage_count = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 4
},
"nullable": []
},
"hash": "99e69537a33dd54d4c4433f24863e1749f544152578d503fc86d0503a425ae8d"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO generic_inference_jobs\nSET\n token = ?,\n uuid_idempotency_token = ?,\n\n job_type = ?,\n\n inference_category = ?,\n maybe_model_type = ?,\n maybe_model_token = ?,\n\n maybe_input_source_token = ?,\n maybe_input_source_token_type = ?,\n\n maybe_download_url = ?,\n maybe_cover_image_media_file_token = ?,\n\n maybe_raw_inference_text = ?,\n\n maybe_inference_args = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n priority_level = ?,\n is_keepalive_required = ?,\n max_duration_seconds = ?,\n\n is_debug_request = ?,\n maybe_routing_tag = ?,\n\n status = \"pending\"\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 21
},
"nullable": []
},
"hash": "9b4c6f0d0db1c92e4d3eed8d572fa92c885bad4adcc053ae490b3a76c6c116d4"
}
@@ -1,47 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n distinct coalesce(w.token, w_old.token) as token,\n mwuc.usage_count as maybe_previously_cached_model_use_count,\n COUNT(*) as usage_count\nFROM\n media_files as f\nLEFT OUTER JOIN model_weights as w\n ON f.maybe_origin_model_token = w.token\nLEFT OUTER JOIN model_weights as w_old\n ON f.maybe_origin_model_token = w_old.maybe_migration_old_model_token\nLEFT OUTER JOIN model_weight_usage_counts as mwuc\n ON coalesce(w.token, w_old.token) = mwuc.token\n AND mwuc.on_date = ?\nWHERE f.maybe_origin_model_token IS NOT NULL\n AND f.created_at >= ?\n AND f.created_at < ? + INTERVAL 1 DAY\nGROUP BY coalesce(w.token, w_old.token), mwuc.usage_count\nORDER BY usage_count DESC\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "maybe_previously_cached_model_use_count",
"type_info": {
"type": "Long",
"flags": "MULTIPLE_KEY | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 2,
"name": "usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
}
],
"parameters": {
"Right": 3
},
"nullable": [
true,
true,
false
]
},
"hash": "9e99e21963271f4ab229a9efba566340ce1a33375762cc140f941885f2772cfb"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO generic_inference_jobs\nSET\n token = ?,\n uuid_idempotency_token = ?,\n\n job_type = ?,\n\n product_category = ?,\n\n inference_category = ?,\n maybe_model_type = ?,\n maybe_model_token = ?,\n\n maybe_input_source_token = ?,\n maybe_input_source_token_type = ?,\n\n maybe_download_url = ?,\n maybe_cover_image_media_file_token = ?,\n\n maybe_raw_inference_text = ?,\n\n maybe_inference_args = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n priority_level = ?,\n is_keepalive_required = ?,\n max_duration_seconds = ?,\n\n is_debug_request = ?,\n maybe_routing_tag = ?,\n\n status = \"pending\"\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 22
},
"nullable": []
},
"hash": "b48e80845d80a6c07099918807d0495b8d70dca339cb1332e05bb3943fbb24c4"
}
@@ -1,36 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n distinct coalesce(w.token, w_new.token) as token,\n COUNT(*) as usage_count\nFROM\n tts_results as r\nLEFT OUTER JOIN model_weights as w\n ON r.model_token = w.maybe_migration_old_model_token\nLEFT OUTER JOIN model_weights as w_new\n ON r.model_token = w_new.token\nWHERE r.created_at >= ?\n AND r.created_at < ? + INTERVAL 1 DAY\nGROUP BY coalesce(w.token, w_new.token)\nORDER BY usage_count DESC\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
}
],
"parameters": {
"Right": 2
},
"nullable": [
true,
false
]
},
"hash": "bf1345a4d296a2696588203f10527f6ad8a9c5d08528017729421a7b3ab776ff"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO media_files\n SET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n is_user_upload = ?,\n is_intermediate_system_file = ?,\n\n origin_category = ?, \n origin_product_category = ?, \n maybe_origin_model_type = ?, \n maybe_origin_model_token = ?, \n maybe_origin_filename = ?,\n\n is_batch_generated = ?,\n maybe_batch_token = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n maybe_duration_millis = ?,\n maybe_audio_encoding = ?, \n maybe_video_encoding = ?, \n maybe_frame_width = ?, \n maybe_frame_height = ?,\n maybe_prompt_token = ?,\n checksum_sha2 = ?,\n\n maybe_title = ?,\n maybe_text_transcript = ?,\n\n maybe_scene_source_media_file_token = ?,\n\n public_bucket_directory_hash = ?, \n maybe_public_bucket_prefix = ?, \n maybe_public_bucket_extension = ?, \n\n maybe_creator_user_token = ?, \n maybe_creator_anonymous_visitor_token = ?, \n\n creator_ip_address = ?, \n creator_set_visibility = ?, \n\n maybe_creator_file_synthetic_id = ?, \n maybe_creator_category_synthetic_id = ?,\n\n extra_file_modification_info = ?,\n\n maybe_mod_user_token = ?, \n is_generated_on_prem = ?, \n generated_by_worker = ?, \n generated_by_cluster = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 38
},
"nullable": []
},
"hash": "c58f414b5e4d0f0420d1894e2f40311e5613919f49f3ac91f81f5fc2bef1bea8"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO tags\nSET\n token = ?,\n tag_value = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "c7e848e4c906a34ac5a4ad8cc73354baa8d5cd81170dd06d66d7f414505d538b"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nUPDATE google_sign_in_accounts\nSET\n email_address = ?,\n is_email_verified = ?,\n\n maybe_locale = ?,\n\n maybe_name = ?,\n maybe_given_name = ?,\n maybe_family_name = ?,\n\n ip_address_update = ?,\n\n version = version + 1\nWHERE\n subject = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 8
},
"nullable": []
},
"hash": "cf30aa779c25b42e51b38f7301c7a1b19e5586a10d21fad5bf05e4edde481a65"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO google_sign_in_accounts\nSET\n token = ?,\n subject = ?,\n\n maybe_user_token = ?,\n\n email_address = ?,\n is_email_verified = ?,\n\n maybe_locale = ?,\n\n maybe_name = ?,\n maybe_given_name = ?,\n maybe_family_name = ?,\n\n ip_address_creation = ?,\n ip_address_update = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 11
},
"nullable": []
},
"hash": "e034a43787bce2ac2db23dee2e640d527f82b29133d29a3d3803aab905f9cab6"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w_extension.ietf_language_tag as maybe_ietf_language_tag,\n w_extension.ietf_primary_language_subtag as maybe_ietf_primary_language_subtag,\n w_extension.maybe_default_pretrained_vocoder as `maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType`,\n w_extension.text_pipeline_type as maybe_text_pipeline_type,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n\n LEFT OUTER JOIN model_weights_extension_tts_details as w_extension\n ON w_extension.model_weights_token = wt.token\n\n WHERE\n wt.maybe_migration_old_model_token = ?\n ",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n WHERE\n wt.token = ?\n ",
"describe": {
"columns": [
{
@@ -265,46 +265,6 @@
},
{
"ordinal": 26,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 27,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 28,
"name": "maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 29,
"name": "maybe_text_pipeline_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
@@ -314,7 +274,7 @@
}
},
{
"ordinal": 31,
"ordinal": 27,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -324,7 +284,7 @@
}
},
{
"ordinal": 32,
"ordinal": 28,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -334,7 +294,7 @@
}
},
{
"ordinal": 33,
"ordinal": 29,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -344,7 +304,7 @@
}
},
{
"ordinal": 34,
"ordinal": 30,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -384,10 +344,6 @@
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
@@ -395,5 +351,5 @@
true
]
},
"hash": "7fe0ebaab55fdbfd4ab447e872e95a4def5888a0bb9f237d8a13bac8336a534b"
"hash": "e32645b06d20a0037c3ca3d514b56af2dba8396f11a4c2a93ee4fab9b4579fc3"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.product_category as `product_category: enums::by_table::generic_inference_jobs::inference_job_product_category::InferenceJobProductCategory`,\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n jobs.maybe_inference_args,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at,\n\n NOW() as database_clock\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"query": "\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n jobs.maybe_inference_args,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at,\n\n NOW() as database_clock\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"describe": {
"columns": [
{
@@ -65,16 +65,6 @@
},
{
"ordinal": 6,
"name": "product_category: enums::by_table::generic_inference_jobs::inference_job_product_category::InferenceJobProductCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 7,
"name": "inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory",
"type_info": {
"type": "VarString",
@@ -84,7 +74,7 @@
}
},
{
"ordinal": 8,
"ordinal": 7,
"name": "maybe_model_type",
"type_info": {
"type": "VarString",
@@ -94,7 +84,7 @@
}
},
{
"ordinal": 9,
"ordinal": 8,
"name": "maybe_model_token",
"type_info": {
"type": "VarString",
@@ -104,7 +94,7 @@
}
},
{
"ordinal": 10,
"ordinal": 9,
"name": "maybe_raw_inference_text",
"type_info": {
"type": "Blob",
@@ -114,7 +104,7 @@
}
},
{
"ordinal": 11,
"ordinal": 10,
"name": "maybe_inference_args",
"type_info": {
"type": "Blob",
@@ -124,7 +114,7 @@
}
},
{
"ordinal": 12,
"ordinal": 11,
"name": "maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory",
"type_info": {
"type": "VarString",
@@ -134,7 +124,7 @@
}
},
{
"ordinal": 13,
"ordinal": 12,
"name": "maybe_result_entity_type",
"type_info": {
"type": "VarString",
@@ -144,7 +134,7 @@
}
},
{
"ordinal": 14,
"ordinal": 13,
"name": "maybe_result_entity_token",
"type_info": {
"type": "VarString",
@@ -154,7 +144,7 @@
}
},
{
"ordinal": 15,
"ordinal": 14,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
@@ -164,7 +154,7 @@
}
},
{
"ordinal": 16,
"ordinal": 15,
"name": "maybe_tts_model_title",
"type_info": {
"type": "VarString",
@@ -174,7 +164,7 @@
}
},
{
"ordinal": 17,
"ordinal": 16,
"name": "maybe_voice_conversion_model_title",
"type_info": {
"type": "VarString",
@@ -184,7 +174,7 @@
}
},
{
"ordinal": 18,
"ordinal": 17,
"name": "maybe_tts_public_bucket_path",
"type_info": {
"type": "VarString",
@@ -194,7 +184,7 @@
}
},
{
"ordinal": 19,
"ordinal": 18,
"name": "maybe_voice_conversion_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -204,7 +194,7 @@
}
},
{
"ordinal": 20,
"ordinal": 19,
"name": "maybe_media_file_public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -214,7 +204,7 @@
}
},
{
"ordinal": 21,
"ordinal": 20,
"name": "maybe_media_file_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -224,7 +214,7 @@
}
},
{
"ordinal": 22,
"ordinal": 21,
"name": "maybe_media_file_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -234,7 +224,7 @@
}
},
{
"ordinal": 23,
"ordinal": 22,
"name": "maybe_assigned_worker",
"type_info": {
"type": "VarString",
@@ -244,7 +234,7 @@
}
},
{
"ordinal": 24,
"ordinal": 23,
"name": "maybe_assigned_cluster",
"type_info": {
"type": "VarString",
@@ -254,7 +244,7 @@
}
},
{
"ordinal": 25,
"ordinal": 24,
"name": "is_keepalive_required",
"type_info": {
"type": "Tiny",
@@ -264,17 +254,17 @@
}
},
{
"ordinal": 26,
"ordinal": 25,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 27,
"ordinal": 26,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -284,7 +274,7 @@
}
},
{
"ordinal": 28,
"ordinal": 27,
"name": "maybe_first_started_at",
"type_info": {
"type": "Timestamp",
@@ -294,7 +284,7 @@
}
},
{
"ordinal": 29,
"ordinal": 28,
"name": "maybe_successfully_completed_at",
"type_info": {
"type": "Timestamp",
@@ -304,7 +294,7 @@
}
},
{
"ordinal": 30,
"ordinal": 29,
"name": "database_clock",
"type_info": {
"type": "Datetime",
@@ -324,7 +314,6 @@
true,
true,
false,
true,
false,
true,
true,
@@ -351,5 +340,5 @@
false
]
},
"hash": "90366e1705a0343bdfe4fc472d701b8e1dbd3a2dabedaadb633ac3542de72fa7"
"hash": "e5121d132d93ec43e48197e00b19040a50ff2942224dc70b0faa0ec988aee7cf"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n\nON DUPLICATE KEY UPDATE\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 39
},
"nullable": []
},
"hash": "e670551074f3beeccb217e1b88d5ca5da7b2fe152466ff3ae526855ba5791e60"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n display_name,\n username_is_not_customized,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned,\n maybe_feature_flags\nFROM users\nWHERE email_address = ?\nLIMIT 1\n ",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned\nFROM users\nWHERE email_address = ?\nLIMIT 1\n ",
"describe": {
"columns": [
{
@@ -25,26 +25,6 @@
},
{
"ordinal": 2,
"name": "display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 3,
"name": "username_is_not_customized",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 4,
"name": "email_address",
"type_info": {
"type": "VarString",
@@ -54,8 +34,8 @@
}
},
{
"ordinal": 5,
"name": "password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes",
"ordinal": 3,
"name": "password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
@@ -64,7 +44,7 @@
}
},
{
"ordinal": 6,
"ordinal": 4,
"name": "password_version",
"type_info": {
"type": "Long",
@@ -74,7 +54,7 @@
}
},
{
"ordinal": 7,
"ordinal": 5,
"name": "is_banned",
"type_info": {
"type": "Tiny",
@@ -82,16 +62,6 @@
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 8,
"name": "maybe_feature_flags",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
}
],
"parameters": {
@@ -103,11 +73,8 @@
false,
false,
false,
false,
false,
false,
true
false
]
},
"hash": "a5b0ee8755f5bd81dc330e63fa8a1c02e6397e7914f4041d90b2bc9cfc249c17"
"hash": "e8705ee9b3bc3213e806946fef651e9bb8c2cb5cc2ac8eff3eaed82d9a88f90e"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.is_user_upload,\n m.is_intermediate_system_file,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.extra_file_modification_info,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n ",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n ",
"describe": {
"columns": [
{
@@ -255,26 +255,6 @@
},
{
"ordinal": 25,
"name": "is_user_upload",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 26,
"name": "is_intermediate_system_file",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 27,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
@@ -284,7 +264,7 @@
}
},
{
"ordinal": 28,
"ordinal": 26,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
@@ -294,7 +274,7 @@
}
},
{
"ordinal": 29,
"ordinal": 27,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
@@ -304,7 +284,7 @@
}
},
{
"ordinal": 30,
"ordinal": 28,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
@@ -314,7 +294,7 @@
}
},
{
"ordinal": 31,
"ordinal": 29,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -324,7 +304,7 @@
}
},
{
"ordinal": 32,
"ordinal": 30,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -334,7 +314,7 @@
}
},
{
"ordinal": 33,
"ordinal": 31,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -344,7 +324,7 @@
}
},
{
"ordinal": 34,
"ordinal": 32,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -354,7 +334,7 @@
}
},
{
"ordinal": 35,
"ordinal": 33,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
@@ -364,7 +344,7 @@
}
},
{
"ordinal": 36,
"ordinal": 34,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
@@ -374,7 +354,7 @@
}
},
{
"ordinal": 37,
"ordinal": 35,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -384,17 +364,7 @@
}
},
{
"ordinal": 38,
"name": "extra_file_modification_info",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 39,
"ordinal": 36,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -404,7 +374,7 @@
}
},
{
"ordinal": 40,
"ordinal": 37,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -414,7 +384,7 @@
}
},
{
"ordinal": 41,
"ordinal": 38,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -424,7 +394,7 @@
}
},
{
"ordinal": 42,
"ordinal": 39,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -434,7 +404,7 @@
}
},
{
"ordinal": 43,
"ordinal": 40,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -444,7 +414,7 @@
}
},
{
"ordinal": 44,
"ordinal": 41,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
@@ -454,7 +424,7 @@
}
},
{
"ordinal": 45,
"ordinal": 42,
"name": "is_featured",
"type_info": {
"type": "LongLong",
@@ -464,21 +434,21 @@
}
},
{
"ordinal": 46,
"ordinal": 43,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 47,
"ordinal": 44,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
@@ -513,9 +483,6 @@
true,
true,
false,
false,
false,
true,
true,
true,
true,
@@ -538,5 +505,5 @@
false
]
},
"hash": "f6c37066ab3e508050e81cf3bea38cc708b05c5c59ba1c322dcfb775e4b9e7a6"
"hash": "f1861dc84015b5c753cb5c31313c747386bce56983108fd6a01815d02d429630"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nUPDATE users\nSET\n username = ?,\n display_name = ?,\n username_is_not_customized = ?,\n ip_address_last_update = ?,\n version = version + 1\nWHERE\n token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 5
},
"nullable": []
},
"hash": "f41980bd0f7e5ba680315095c773b406e589ea6e72b5c284a14440c5d1c57811"
}
@@ -1,58 +0,0 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n created_at,\n updated_at\n FROM model_weights\n WHERE\n updated_at > ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 2,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 3,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false
]
},
"hash": "f68d01ee1339c0a1ea8301fcc74359e981c20abebd7024844bea6e1b9486b458"
}
Generated
+442 -889
View File
File diff suppressed because it is too large Load Diff
+3 -6
View File
@@ -3,9 +3,10 @@ resolver = "2"
members = [
# Types: common strongly-typed tokens, ids, payloads, etc.
# Also common cloud buckets and other "strongly typed" configs.
"crates/_types/buckets",
"crates/_types/composite_identifiers",
"crates/_types/enums",
"crates/_types/enums_public",
"crates/_types/reusable_types", # TODO(bt, 2022-12-21): Deprecate
"crates/_types/tokens",
@@ -13,7 +14,6 @@ members = [
"crates/cli/devenv/dev-database-seed",
"crates/cli/devenv/dev-upload-media-file",
"crates/cli/devenv/scrape-test",
"crates/cli/production/db-backfill",
"crates/cli/production/db-backup",
"crates/cli/production/db-cleanup",
"crates/cli/production/elasticsearch-cli",
@@ -26,10 +26,8 @@ members = [
"crates/lib/actix_helpers",
"crates/lib/api_clients/cloud_storage",
"crates/lib/api_clients/google_drive_common",
"crates/lib/api_clients/google_sign_in",
"crates/lib/api_clients/thumbnail_generator",
"crates/lib/bootstrap",
"crates/lib/bucket_paths",
"crates/lib/caching/memory_caching",
"crates/lib/caching/redis_caching",
"crates/lib/concurrency",
@@ -39,8 +37,8 @@ members = [
"crates/lib/data/datetimes",
"crates/lib/data/primitives",
"crates/lib/deprecated/config", # TODO(bt, 2023-02-13): Deprecate or repurpose
"crates/lib/deprecated/container_common", # TODO(bt, 2023-02-13): Pull apart and rehome pieces
"crates/lib/deprecated/http_server_common", # TODO(bt, 2023-03-20): Move useful pieces to actix_helpers
"crates/lib/dimensions",
"crates/lib/easyenv", # NB: Vendored version of https://github.com/echelon/easyenv.rs that we'll improve.
"crates/lib/elasticsearch_schema",
"crates/lib/email_sender",
@@ -61,7 +59,6 @@ members = [
"crates/lib/password",
"crates/lib/prompt_engineering",
"crates/lib/redis_common",
"crates/lib/redis_schema",
"crates/lib/server_environment",
"crates/lib/sqlx_mysql_helpers",
"crates/lib/storyteller_root",
-56
View File
@@ -1,56 +0,0 @@
# -*- mode: Python -*-
if k8s_context() != 'black1':
fail("failing early to avoid overwriting prod")
local_resource('storyteller-web-binary',
cmd='SQLX_OFFLINE=true cargo build --release --bin storyteller-web --target=x86_64-unknown-linux-musl',
)
local_resource('inference-job-binary',
cmd='SQLX_OFFLINE=true cargo build --release --bin inference-job --target=x86_64-unknown-linux-musl',
)
allow_k8s_contexts('black1')
sync_src_crates = sync('./crates', '/storyteller-rust/source/crates')
sync_src_sql = sync('./_sql', '/storyteller-rust/source/_sql')
sync_src_cargo_lock = sync('./Cargo.lock', '/storyteller-rust/source/Cargo.lock')
sync_src_cargo = sync('./Cargo.toml', '/storyteller-rust/source/Cargo.toml')
sync_src_env = sync('./.env', '/storyteller-rust/source/.env')
sync_src_startup = sync('./_develop/localdev/startup.sh', '/storyteller-rust/_develop/localdev/startup.sh')
sync_src_storyteller_binary = sync('./target/x86_64-unknown-linux-musl/release/storyteller-web', '/storyteller-rust/target/x86_64-unknown-linux-musl/release/storyteller-web')
sync_src_inference_job_binary = sync('./target/x86_64-unknown-linux-musl/release/inference-job', '/application-dir/inference-job')
docker_build('storyteller-web',
'.',
dockerfile='_develop/localdev/Dockerfile',
platform='linux/amd64',
only=[
'./target/x86_64-unknown-linux-musl/release/storyteller-web',
'./target/x86_64-unknown-linux-musl/release/inference-job',
'_develop/localdev/Dockerfile',
'./_develop/localdev/startup.sh',
'crates/service/web/storyteller_web/config/storyteller-web.development.env',
'_sql', 'diesel.toml', '.env'],
live_update = [
sync_src_crates,
sync_src_sql,
sync_src_cargo_lock,
sync_src_cargo,
sync_src_env,
sync_src_startup,
sync_src_storyteller_binary,
sync_src_inference_job_binary,
run('date > /restart.txt')
],
)
k8s_yaml('_develop/localdev/kubernetes.yml',
)
k8s_resource(
objects=['ssd-hostpath:storageclass', 'test-pvc:persistentvolumeclaim', 'ml-support-pvc:persistentvolumeclaim'],
new_name='storyteller-web-pvc',
trigger_mode=TRIGGER_MODE_MANUAL,
)
k8s_resource('mysql', port_forwards='3307:3306')
k8s_resource('storyteller-web', port_forwards=12345)
+1 -12
View File
@@ -6,20 +6,9 @@ RUN apt-get update && \
apt-get install -y \
mariadb-client \
imagemagick \
python3-pip \
libmariadb-dev \
&& rm -rf /var/lib/apt/lists/*
RUN cd /tmp && \
wget -O entr.zip https://github.com/eradman/entr/archive/refs/tags/5.6.zip && \
unzip entr.zip && \
cd entr-5.6 && \
./configure && \
make test && \
make install \
&& rm -rf /tmp/entr-5.6
RUN cargo install diesel_cli --features mysql && \
cargo install sqlx-cli --features mysql
@@ -30,5 +19,5 @@ ARG GIT_SHA
RUN echo -n ${GIT_SHA} > /GIT_SHA
CMD ["/storyteller-rust/_develop/localdev/startup.sh"]
CMD ["/storyteller-rust/localdev/startup.sh"]
+15 -108
View File
@@ -27,51 +27,6 @@ spec:
ports:
- containerPort: 3306
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ssd-hostpath
provisioner: microk8s.io/hostpath
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
parameters:
pvDir: /home/kasisnu/microk8s/hostpath-provisioner
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc
spec:
storageClassName: ssd-hostpath
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ml-support-pvc
spec:
storageClassName: ssd-hostpath
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
---
apiVersion: v1
kind: ConfigMap
metadata:
name: storyteller-config
data:
buckets.vocodes_bucket_region: us-east1
buckets.vocodes_private_bucket_name: kasisnu-test-area-private
buckets.vocodes_public_bucket_name: kasisnu-test-area-public
buckets.vocodes_ephemeral_bucket_name: kasisnu-test-area-ephemeral-public
---
apiVersion: apps/v1
@@ -102,11 +57,6 @@ metadata:
name: storyteller-web
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 5
maxUnavailable: 2
type: RollingUpdate
selector:
matchLabels:
app: storyteller-web
@@ -115,65 +65,29 @@ spec:
labels:
app: storyteller-web
spec:
runtimeClassName: nvidia
containers:
- name: gpt-sovitsdir
# image: localhost:32000/some-gpt-sovits:latest
image: localhost:32000/some-comfy:latest
imagePullPolicy: Always
command: ["sleep", "infinity"]
resources:
limits:
nvidia.com/gpu: "1"
requests:
nvidia.com/gpu: "1"
volumeMounts:
- mountPath: /application-dir
name: application-dir
- mountPath: /ml-support
name: ml-support-dir
- name: storyteller-web
image: storyteller-web:latest
imagePullPolicy: Always
imagePullPolicy: Never
env:
- name: MYSQL_URL
value: mysql://storyteller:password@mysql/storyteller
value: mysql://storyteller:password@mysql.default/storyteller
- name: REDIS_0_URL
value: redis://redisd@redis/0
value: redis://redisd@redis.default/0
- name: REDIS_1_URL
value: redis://redisd@redis/1
value: redis://redisd@redis.default/1
- name: ACCESS_KEY
valueFrom:
secretKeyRef:
name: bucket-secrets
key: access-key
value: garbage
- name: SECRET_KEY
valueFrom:
secretKeyRef:
name: bucket-secrets
key: secret-key
value: garbage
- name: REGION_NAME
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_bucket_region
- name: GC_ENABLED_PUBLIC_BUCKET_NAME
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_ephemeral_bucket_name
value: garbage
- name: W2L_PRIVATE_DOWNLOAD_BUCKET_NAME
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_private_bucket_name
value: garbage
- name: W2L_PUBLIC_DOWNLOAD_BUCKET_NAME
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_public_bucket_name
value: garbage
- name: AUDIO_UPLOADS_BUCKET_ROOT
value: /user_uploaded_w2l_audio
value: garbage
- name: TWITCH_USERNAME
value: garbage
- name: TWITCH_STREAM_KEY
@@ -187,17 +101,10 @@ spec:
volumeMounts:
- mountPath: /storyteller-rust
name: storyteller-rust-folder
- mountPath: /application-dir
name: application-dir
volumes:
- name: storyteller-rust-folder
persistentVolumeClaim:
claimName: test-pvc
- name: application-dir
emptyDir: {}
- name: ml-support-dir
persistentVolumeClaim:
claimName: ml-support-pvc
hostPath:
path: /storyteller-rust
---
apiVersion: v1
@@ -209,7 +116,7 @@ spec:
ports:
- name: mysql
port: 3306
nodePort: 32206
nodePort: 3306
selector:
app: mysql
@@ -224,7 +131,7 @@ spec:
ports:
- name: redis
port: 6379
nodePort: 32379
nodePort: 6379
selector:
app: redis
@@ -239,7 +146,7 @@ spec:
ports:
- name: storyteller-web
port: 12345
nodePort: 32345
nodePort: 12345
selector:
app: storyteller-web
+2 -5
View File
@@ -2,8 +2,5 @@
set +e +o pipefail
diesel migration run --database-url="${MYSQL_URL}"
set -e -o pipefail
echo 'hello world in startup.sh'
#sleep infinity
date > /restart.txt
echo /restart.txt | entr -nrz /storyteller-rust/target/x86_64-unknown-linux-musl/release/storyteller-web
#/storyteller-rust/target/x86_64-unknown-linux-musl/release/storyteller-web
./target/x86_64-unknown-linux-musl/release/storyteller-web
@@ -39,23 +39,11 @@
"user_deleted_at" : { "type" : "date" },
"mod_deleted_at" : { "type" : "date" },
"database_read_time" : { "type" : "date" },
"is_featured" : {
"type": "boolean",
"index": true
},
"is_user_upload" : {
"type": "boolean",
"index": true
},
"is_intermediate_system_file" : {
"type": "boolean",
"index": true
},
"is_deleted" : {
"type": "boolean",
"index": true
@@ -29,26 +29,14 @@
"ratings_negative_count" : { "type" : "unsigned_long" },
"bookmark_count" : { "type" : "unsigned_long" },
"cached_usage_count" : {
"type": "integer",
"index": true
},
"maybe_ietf_language_tag" : { "type" : "keyword" },
"maybe_ietf_primary_language_subtag" : { "type" : "keyword" },
"is_featured" : {
"type": "boolean",
"index": true
},
"created_at" : { "type" : "date" },
"updated_at" : { "type" : "date" },
"user_deleted_at" : { "type" : "date" },
"mod_deleted_at" : { "type" : "date" },
"database_read_time" : { "type" : "date" },
"is_deleted" : {
"type": "boolean",
"index": true
@@ -4,13 +4,6 @@
"must": [
{
"bool": {
"must" : [
{
"term": {
"is_deleted": false
}
}
],
"should": [
{
"fuzzy": {
@@ -1,34 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Generations by account recency histogram
select
created_date,
case when user_account_age_days <= 1 then 'today'
when user_account_age_days <= 30 then '<1 month'
when user_account_age_days <= 60 then '<2 month'
when user_account_age_days <= 90 then '<3 month'
when user_account_age_days <= 365 then '<1 year'
else '1+ years' end as user_account_age,
count(*) as generations
FROM (
SELECT
DATE(gij.created_at) as created_date,
-- Account age at time of media generation
DATEDIFF(gij.created_at, u.created_at) as user_account_age_days
from
generic_inference_jobs as gij
join
users as u
on
gij.maybe_creator_user_token = u.token
where
gij.created_at >= (CURDATE() - INTERVAL 30 DAY)
and gij.status = 'complete_success'
and gij.id > 40839206
order by gij.created_at asc
) as x
group by created_date, user_account_age
order by created_date asc, user_account_age asc;
@@ -1,35 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Generations by account recency histogram
select
created_date,
case when user_account_age_days <= 1 then 'today'
when user_account_age_days <= 30 then '<1 month'
when user_account_age_days <= 60 then '<2 month'
when user_account_age_days <= 90 then '<3 month'
when user_account_age_days <= 365 then '<1 year'
else '1+ years' end as user_account_age,
count(distinct user_token) as dau_count
FROM (
SELECT
DATE(gij.created_at) as created_date,
-- Account age at time of media generation
DATEDIFF(gij.created_at, u.created_at) as user_account_age_days,
u.token as user_token
from
generic_inference_jobs as gij
join
users as u
on
gij.maybe_creator_user_token = u.token
where
gij.created_at >= (CURDATE() - INTERVAL 30 DAY)
and gij.status = 'complete_success'
and gij.id > 40839206
order by gij.created_at asc
) as x
group by created_date, user_account_age
order by created_date asc, user_account_age asc;
@@ -1,7 +0,0 @@
SELECT
DATE(gij.created_at) as created_date,
product_category,
count(*) as job_count
FROM generic_inference_jobs as gij
WHERE gij.created_at >= (CURDATE() - INTERVAL 30 DAY)
GROUP BY created_date, product_category;
@@ -1,15 +0,0 @@
-- User sign up histogram by method
-- Since we don't have an index on created_at, we threshold by id
-- Current ID count = 7578799 (September 28, 2024)
select
date(created_at) as date,
case
when maybe_signup_method is null then 'email_password'
else maybe_signup_method
end as method,
count(*) as signup_count
from users
where id > 7200000
and created_at >= NOW() - INTERVAL 60 DAY
group by date(created_at), method
@@ -1,14 +0,0 @@
-- User sign up histogram by method
-- Since we don't have an index on created_at, we threshold by id
-- Current ID count = 7578799 (September 28, 2024)
select
date(created_at) as date,
case
when maybe_source is null then 'unknown'
else maybe_source
end as source,
count(*) as signup_count
from users
where id > 7200000
and created_at >= NOW() - INTERVAL 60 DAY
group by date(created_at), maybe_source
@@ -1,285 +0,0 @@
--- Analyze records
SELECT
job_type,
product_category,
inference_category,
maybe_model_type,
created_at
FROM generic_inference_jobs
WHERE product_category IS NULL
AND created_at >= '2024-07-31'
ORDER BY ID DESC;
-- AND job_type NOT IN ('stable_diffusion', 'so_vits_svc', 'comfy_ui')
-- Update studio jobs (distinguished from VST jobs)
UPDATE generic_inference_jobs
SET product_category = 'studio'
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND token IN (
SELECT
job.token
FROM media_files as m
JOIN (
SELECT
token,
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
JSON_UNQUOTE(JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in')) as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND created_at >= '2024-05-01'
ORDER BY ID DESC
) as job
ON m.token = job.input_token
WHERE m.created_at >= '2024-05-01'
AND m.maybe_scene_source_media_file_token IS NOT NULL
);
-- Update VST jobs (distinguished from studio jobs)
UPDATE generic_inference_jobs
SET product_category = 'vst'
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND token IN (
SELECT
job.token
FROM media_files as m
JOIN (
SELECT
token,
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
JSON_UNQUOTE(JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in')) as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND created_at >= '2024-03-01'
ORDER BY ID DESC
) as job
ON m.token = job.input_token
WHERE m.created_at >= '2024-03-01'
AND m.maybe_scene_source_media_file_token IS NULL
);
-- Update final remaining VST jobs (distinguished from studio jobs)
UPDATE generic_inference_jobs
SET product_category = 'vst'
WHERE job_type = 'comfy_ui'
AND product_category IS NULL
AND token NOT IN (
SELECT
job.token
FROM media_files as m
JOIN (
SELECT
token,
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
JSON_UNQUOTE(JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in')) as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND created_at >= '2024-03-01'
) as job
ON m.token = job.input_token
WHERE m.created_at >= '2024-03-01'
);
-- Distinguish between VST and Studio
SELECT
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
maybe_inference_args,
JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in') as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IS NULL
AND created_at >= '2024-07-31'
ORDER BY ID DESC
LIMIT 359;
--- Update tacotron2 jobs
UPDATE generic_inference_jobs
SET product_category = 'tts_tacotron2'
WHERE job_type = 'tacotron2'
AND inference_category = 'text_to_speech'
AND maybe_model_type = 'tacotron2'
AND product_category IS NULL
AND created_at >= '2024-07-30'
AND created_at <= '2024-08-30'
LIMIT 100000;
--- Update GptSoVits (#1)
UPDATE generic_inference_jobs
SET product_category = 'tts_gpt_so_vits'
WHERE job_type = 'gpt_sovits'
AND inference_category = 'text_to_speech'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-08-14'
AND created_at <= '2024-08-30'
LIMIT 100000;
--- Update GptSoVits (#2: we changed the inference_category)
UPDATE generic_inference_jobs
SET product_category = 'tts_gpt_so_vits'
WHERE job_type = 'gpt_sovits'
AND inference_category = 'deprecated_field'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-07-15'
AND created_at <= '2024-08-30'
LIMIT 100000;
-- Update GptSoVits Download Jobs
UPDATE generic_inference_jobs
SET product_category = 'download_gpt_so_vits'
WHERE job_type = 'gpt_sovits'
AND maybe_download_url IS NOT NULL
LIMIT 10000;
--- TODO: Not working
--- Update RVCv2 VC jobs
UPDATE generic_inference_jobs
SET product_category = 'vc_rvc2'
WHERE job_type = 'rvc_v2'
AND inference_category = 'voice_conversion'
AND maybe_model_type = 'rvc_v2'
AND product_category IS NULL
AND created_at >= '2024-07-31'
AND created_at <= '2024-08-30'
LIMIT 100000;
--- Update SVC VC jobs
UPDATE generic_inference_jobs
SET product_category = 'vc_svc'
WHERE job_type = 'so_vits_svc'
AND product_category IS NULL
AND created_at >= '2024-07-25'
AND created_at <= '2024-08-30'
LIMIT 10000;
--- Update StyleTTS2 jobs
UPDATE generic_inference_jobs
SET product_category = 'tts_style_tts2'
WHERE job_type = 'styletts2'
AND inference_category = 'text_to_speech'
AND maybe_model_type = 'styletts2'
AND product_category IS NULL
AND created_at >= '2024-08-15'
AND created_at <= '2024-08-30'
LIMIT 1000;
--- Update Live Portrait jobs (#1)
UPDATE generic_inference_jobs
SET product_category = 'live_portrait'
WHERE job_type = 'live_portrait'
AND inference_category = 'live_portrait'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-07-25'
LIMIT 10000;
--- Update Live Portrait jobs (#2)
UPDATE generic_inference_jobs
SET product_category = 'live_portrait'
WHERE job_type = 'live_portrait'
AND inference_category = 'deprecated_field'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-07-25'
LIMIT 10000;
--- Update SadTalker jobs
UPDATE generic_inference_jobs
SET product_category = 'lipsync_sad_talker'
WHERE maybe_model_type = 'sad_talker'
AND inference_category = 'lipsync_animation'
AND product_category IS NULL
AND created_at >= '2024-07-25'
LIMIT 100;
--- Update "stable diffusion" jobs (how are people still enqueueing these?)
UPDATE generic_inference_jobs
SET product_category = 'stable_diffusion'
WHERE job_type = 'stable_diffusion'
AND inference_category = 'image_generation'
AND maybe_model_type = 'stable_diffusion'
AND product_category IS NULL
AND created_at >= '2024-07-25'
AND created_at <= '2024-09-30'
LIMIT 100;
-- Change Product Category: vst -> vid_style_transfer
UPDATE generic_inference_jobs
SET product_category = 'vid_style_transfer'
WHERE product_category = 'vst'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: studio -> vid_studio
UPDATE generic_inference_jobs
SET product_category = 'vid_studio'
WHERE product_category = 'studio'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: vid_face_fusion -> vid_lipsync_face_fusion
UPDATE generic_inference_jobs
SET product_category = 'vid_lipsync_face_fusion'
WHERE product_category = 'vid_face_fusion'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: lipsync_sad_talker -> vid_lipsync_sad_talker
UPDATE generic_inference_jobs
SET product_category = 'vid_lipsync_sad_talker'
WHERE product_category = 'lipsync_sad_talker'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: live_portrait -> vid_live_portrait
UPDATE generic_inference_jobs
SET product_category = 'vid_live_portrait'
WHERE product_category = 'live_portrait'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: live_portrait_webcam -> vid_live_portrait_webcam
UPDATE generic_inference_jobs
SET product_category = 'vid_live_portrait_webcam'
WHERE product_category = 'live_portrait_webcam'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
@@ -1,14 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
UPDATE media_files
SET is_user_upload = TRUE
WHERE origin_category IN ('upload', 'device_api')
AND is_user_upload = FALSE
LIMIT 10000;
SELECT COUNT(*)
FROM media_files
WHERE origin_category IN ('upload', 'device_api')
AND is_user_upload = FALSE;
@@ -1,171 +0,0 @@
-- Doc: https://docs.google.com/document/d/14AyEV_0PYwa71a5W8xRRZ8vbI0uZHQF4ycqi539qmAc/edit
-- backspace23: Twitch robot user? "Hello streamer! You look amazing today! Keep on being pog!." + usernames
-- blastbeng: Italian AI streamer? Only uses 23 voices, all Italian
-- bluemo69: (confirmed, abandoned) AI SpongeBob
-- dzth: AI streamer - 144,653 media files (all audio, mostly SpongeBob, using old tokens) in August 2024
-- idkman01: *likely* AI streamer for Sonic - 77,741 media files in August 2024, Sonic voices, some SpongeBob
-- johnloberger: (confirmed) AI South Park
-- peepostream: Twitch API tool (??), but long tail of voices
-- powerchat: Twitch API tool
-- rewritten_code: (confirmed) AI Breaking Bad
-- robertmctague: Definitely robot, but strange. Bimodal character set, auto-censor, bitcoin
-- thevisitorx: Only uses 32 voices. Very weird set of voices.
UPDATE users
SET is_api_user = TRUE
WHERE username IN (
'backspace23',
'blastbeng',
'bluemo69',
'dzth',
'idkman01',
'johnloberger',
'leon_says',
'peepostream',
'powerchat',
'rewritten_code',
'robertmctague',
'thevisitorx'
);
-- Ripping off our API (???):
-- We won't filter these from organic analysis because their usage is likely organic even if they're hijacking us
-- devproject2023 - lots of different voices used, in different languages
-- leon_says: 101soundboards again, lots of different voices used, in different languages
-- thebigo - not API hacker, but not paying us, using us at volume, making bad content??
-- yigithan - lots of different voices used, in different languages
-- Top August users:
+--------------------+-----------------+-------------+---------------------+
| user_token | username | usage_count | created_at |
+--------------------+-----------------+-------------+---------------------+
| user_aw7m4d07fjzrv | robertmctague | 286029 | 2024-03-18 21:51:42 | -- Strange. Bimodal character set, auto-censor, bitcoin
| U:03HG1NRMDT7A6 | leon_says | 209682 | 2023-09-13 16:27:40 | -- 101soundboards - ripping off our API again
| U:Z477H1KNSY3B5 | dzth | 145174 | 2023-07-31 15:53:50 | AI SpongeBob
| user_vb7mch05njgnp | idkman01 | 77741 | 2024-06-29 03:33:34 | AI Sonic + a little AI SpongeBob
| U:8D706H5C7E5MF | yigithan | 41965 | 2023-05-03 07:35:43 | -- Ripping off our API (???)
| U:4Z8DK9T7K4170 | devproject2023 | 29530 | 2023-03-05 21:19:27 | -- Ripping off our API (???)
| U:5Z4ZMBVZT8FYP | blastbeng | 21126 | 2022-10-25 21:33:29 | -- Italian AI streamer? Only uses 23 voices, all Italian
| U:YX31ZJ517T40G | johnloberger | 18340 | 2023-06-14 21:34:52 | AI South Park
| U:6JJJRNN0B17CP | backspace23 | 16229 | 2023-10-15 07:57:08 | -- Twitch tool? "Hello streamer! You look amazing today! Keep on being pog!." + usernames
| U:89XRNEWENPCGX | thevisitorx | 15138 | 2022-12-16 09:44:37 | -- Only uses 32 voices. Very weird set of voices.
| U:QPEXYBZJ5TB9K | thebigo | 14141 | 2022-09-06 01:38:52 | -- 92 voices, almost exclusively female voices!
-- Top Users All Time
+------------------+--------------------+---------------------+-------------+
| username | token | created_at | generations |
+------------------+--------------------+---------------------+-------------+
| leon_says | U:03HG1NRMDT7A6 | 2023-09-13 16:27:40 | 1608442 |
| dzth | U:Z477H1KNSY3B5 | 2023-07-31 15:53:50 | 1287340 |
| robertmctague | user_aw7m4d07fjzrv | 2024-03-18 21:51:42 | 785684 |
| rewritten_code | U:TBM1Z40A46NXZ | 2023-07-18 00:46:12 | 633926 |
| devproject2023 | U:4Z8DK9T7K4170 | 2023-03-05 21:19:27 | 476896 |
| yigithan | U:8D706H5C7E5MF | 2023-05-03 07:35:43 | 368559 |
| johnloberger | U:YX31ZJ517T40G | 2023-06-14 21:34:52 | 354966 |
| blastbeng | U:5Z4ZMBVZT8FYP | 2022-10-25 21:33:29 | 226726 |
| backspace23 | U:6JJJRNN0B17CP | 2023-10-15 07:57:08 | 212895 |
| nhapcs | U:7HV0JNV82F85J | 2023-07-12 15:09:07 | 182513 |
| thevisitorx | U:89XRNEWENPCGX | 2022-12-16 09:44:37 | 160763 |
| evanschris | U:3T08BX8GFDGJ2 | 2023-08-30 07:14:44 | 130251 |
| idkman01 | user_vb7mch05njgnp | 2024-06-29 03:33:34 | 99008 |
| thebigo | U:QPEXYBZJ5TB9K | 2022-09-06 01:38:52 | 88822 |
| beatsolo | U:SVZRVJSP04JAE | 2023-09-08 03:21:51 | 88089 |
| banana12134 | user_xy3snt46r1edn | 2024-06-06 02:00:10 | 82637 |
| dwdwd | U:BY6920DKHNDBT | 2023-02-06 02:22:07 | 82488 |
| bluemo69 | U:4MFYA09TH7SD1 | 2023-06-19 22:12:11 | 76651 |
| catmem | user_q7dj0hj3xy31g | 2024-05-02 09:57:28 | 49235 |
| bfdi_ceo | user_hdav69agkm2mw | 2024-05-20 18:00:46 | 46563 |
| ahiman | user_vmdq5nq7bfckh | 2024-04-13 05:47:40 | 37340 |
| kamalmango | U:NFV8FYBZHZPP4 | 2023-07-31 19:12:30 | 35873 |
| brandon2000 | U:AF0K4PMS37JWN | 2023-07-26 03:36:14 | 24899 |
| powerchat | U:Y2Q8Q7C537G88 | 2023-01-23 23:51:37 | 24557 |
| storysonic17 | U:5W2X30KK6KNAP | 2023-03-16 01:10:18 | 23561 |
| hexzd | U:2H5SED9TD85AW | 2023-08-28 02:18:15 | 21521 |
| gdinwtfdyd66692 | U:3S8S9X3H9B6SA | 2022-10-12 16:50:25 | 20966 |
| thewildwolf | user_7yjk723jtfmj6 | 2023-11-13 12:32:58 | 20858 |
| uberwaffle | user_zgw9q4tz6506t | 2024-01-18 03:09:16 | 20856 |
| peepostream | U:SYW8H845YZJBW | 2023-07-12 20:37:26 | 20417 |
| cangqu | user_x990jyt3ne4br | 2024-04-09 14:00:47 | 20260 |
| mostafa88t | U:N0VXP0H0E36WT | 2023-04-30 04:51:39 | 20107 |
| nicktea | user_4c2qcpbq6twv7 | 2024-04-22 22:09:05 | 19322 |
| freddyj | U:5WTDZVMX23WC1 | 2023-03-10 13:02:09 | 18084 |
| mikpas | U:KEXZ6BBGH75AX | 2023-08-07 23:32:30 | 16747 |
| cinnamonmick | user_23jmwykxjjrm4 | 2024-01-26 18:27:56 | 14632 |
| jammythegranny | user_bz76arxrmr0vj | 2023-12-30 15:21:04 | 14580 |
| colerw2001 | U:WJJT9AHJHGJS5 | 2023-07-25 01:56:49 | 14478 |
| saidulrifat | U:GJJKBHK15C9W0 | 2023-10-01 15:41:29 | 14446 |
| cmboy | U:E4TSGYT5DX19C | 2022-06-19 23:33:33 | 14116 |
| drunkrussian | U:ESVW6NHE6GHP8 | 2023-03-08 03:09:08 | 14037 |
| trag | U:WHXJK1RSYM5WD | 2023-06-15 16:54:33 | 13369 |
| coleroywarren | U:3MQB45NCHSNH9 | 2022-12-25 00:17:22 | 13171 |
| havewelost | U:2TEZS9T6AK6CY | 2023-06-08 16:35:16 | 12953 |
| wawoul | user_gv0a0vec80540 | 2024-01-15 16:19:10 | 12617 |
| nininoni3333 | user_bkypxftv69675 | 2024-02-16 01:26:30 | 12227 |
| bellacraft | user_9rjpehtnpd6tb | 2024-03-19 08:41:13 | 12068 |
| knightrider0 | U:H2KWH2QPNHDRB | 2023-08-31 17:37:48 | 11965 |
| itzultrascout | U:EW15EA1XNGFVB | 2022-05-12 17:12:48 | 11950 |
| citruskat | user_qcnpkvw9fnhyr | 2024-04-04 03:57:18 | 11067 |
| rannyphant | user_y1b4ag72ezh65 | 2024-01-29 23:59:00 | 10928 |
| xkendy | user_cewjs06e36hfq | 2023-11-10 19:44:59 | 10790 |
| alexcharles | U:19WD4DHDR8XDH | 2023-09-18 18:45:02 | 10705 |
| jtoddd | U:0BJT98T611SZC | 2023-10-06 04:15:53 | 10420 |
| davisher | U:T3EE4GCA5Q4ZJ | 2022-11-22 20:39:40 | 10243 |
| moon1201 | U:211ZHWM8J1F8B | 2023-10-05 07:43:03 | 10187 |
-- Continued (>5k to <10k):
| porkai | U:RBH6ZHBDDVH3Q | 2023-06-15 02:34:39 | 9703 |
| twitchguru | U:GSQGDX7HCQ9DK | 2023-08-03 14:47:40 | 9634 |
| ricardo73 | U:T7T6XH9540GVV | 2023-04-24 06:25:31 | 9563 |
| inspired17 | user_as01gf1gfc8ny | 2024-03-02 04:03:28 | 9185 |
| july1337 | user_wb4592qst8t48 | 2024-04-05 15:58:28 | 8961 |
| ren51 | U:XWA2SDNQBYMXD | 2023-09-07 14:40:00 | 8847 |
| hillbilly | U:7N1GDKHSSSZNJ | 2022-11-28 12:56:26 | 8645 |
| xdliverblx | user_kqfdj8rdhkpnv | 2023-12-30 20:17:46 | 8608 |
| chocolateimage | U:WHB70A279YBPJ | 2023-07-21 15:53:52 | 8227 |
| nothingster | U:A9HWW4VAE6XJ5 | 2022-12-20 02:51:05 | 8182 |
| bigboyduelist | U:QYGQSZ0232EXP | 2022-08-22 16:29:21 | 7962 |
| ibrasal | U:MBNYW84PRT7BB | 2023-08-16 20:25:34 | 7501 |
| nathanjackson | user_dppfbvwjq2963 | 2023-11-17 21:37:48 | 7472 |
| tcw | user_2xes0wjhfmybb | 2023-11-07 03:42:35 | 7416 |
| jpb1976 | U:P6W06DB29G9SZ | 2023-02-04 15:10:08 | 7403 |
| mezayt | U:0T2NJR5VJRT8Z | 2022-12-28 05:12:49 | 7389 |
| jctdaswfmnqaee8 | user_mhzm8s7q9jt6h | 2023-12-31 00:17:41 | 7328 |
| icerogue | user_73k9zn3jxvcxs | 2024-02-22 14:53:57 | 7258 |
| thelooneygirl | user_e9fwd2xfn2ajv | 2023-11-30 17:15:53 | 7163 |
| not_popee | U:WA1Q15SB6Q1VJ | 2023-04-11 09:18:52 | 7068 |
| altazio | U:6SCFF1NBHARQA | 2022-09-08 09:39:59 | 6967 |
| virtualsignal | user_y5q4s4he1snq9 | 2024-02-06 06:53:17 | 6867 |
| gioboss | U:PM36EZDVKCMW3 | 2023-05-23 19:17:38 | 6759 |
| lucasday | U:2RAPWS9K5HEYZ | 2022-11-03 05:15:53 | 6754 |
| nickviv | user_at41z2z9zafdz | 2024-07-08 17:52:51 | 6706 |
| novicain | U:DG228ZACF1NAN | 2022-12-28 01:49:00 | 6429 |
| n8kasper | U:VW9XKV9NWV6WS | 2022-05-31 21:25:56 | 6373 |
| garrett65536 | U:9T28V6PKPB7EM | 2023-08-28 19:16:21 | 6366 |
| oklahomadoss | U:WPF17KR1HB4YV | 2023-01-23 01:31:37 | 6364 |
| rqguy2022 | U:JV591Y7HGVKMR | 2022-09-08 22:35:59 | 6363 |
| jack314k | U:FYNFQA4D40PH4 | 2023-06-10 02:29:41 | 6286 |
| michael-studios | U:5P0BDXD18ST8C | 2023-07-29 20:46:32 | 6276 |
| ill-greed | U:YASA2RC19EHGY | 2023-07-22 06:06:22 | 6170 |
| jamescozart2245 | U:V7VA6DS24T2VE | 2023-07-25 01:17:30 | 6063 |
| avaljml | U:F1DXEJZ7HS137 | 2023-08-22 02:51:09 | 6012 |
| 24ratcma | U:NBNCMS81965ZS | 2022-11-28 01:10:53 | 5957 |
| solitaryvirus | user_wm3tzh0v91gnv | 2024-06-28 16:35:50 | 5942 |
| username64 | U:R2MATFEE7223X | 2023-07-25 02:06:41 | 5879 |
| tellstories | user_5eq7hj7vnmqqc | 2024-03-28 18:57:57 | 5824 |
| mallerie7 | U:7WAD25W85TYHM | 2022-12-16 19:22:18 | 5777 |
| unknown123 | U:1S4G4YY0EW2X6 | 2022-03-08 02:03:25 | 5736 |
| truebuck86 | U:RAE3M212X65W6 | 2023-09-13 21:47:28 | 5689 |
| g4bdou1 | U:FVFZ0TN0Y0N4F | 2023-04-30 23:40:31 | 5581 |
| hspillerga | user_8h8ffwmgphmq9 | 2023-11-19 16:07:20 | 5562 |
| garflied17 | user_a7nef57s5ypgm | 2023-12-09 18:14:16 | 5432 |
| botwoon | U:DX55CFAPANPK3 | 2023-03-12 05:23:03 | 5403 |
| jeromec22 | U:WG9S2GHDW8MA0 | 2023-07-21 23:54:37 | 5390 |
| forrealuseless | U:VVFERXHKNT4KN | 2023-05-07 23:13:07 | 5324 |
| xc3jo | U:246RSQQGZE7F7 | 2022-09-12 03:48:02 | 5211 |
| codebullet | U:9QH9CFSXE5EY8 | 2023-07-27 06:12:20 | 5184 |
| ziad1818 | U:XACATP3C7NG5D | 2023-07-23 20:45:02 | 5158 |
| weslleycebr | U:QJ9PGBCJR2101 | 2023-07-10 16:35:02 | 5143 |
| cristianarbey | U:36910S9YX5M7S | 2022-12-13 16:52:07 | 5128 |
| thiccslayer | U:70C2DNQ8NAPE2 | 2022-07-21 04:29:47 | 5071 |
@@ -1,196 +0,0 @@
-- TODO: TOP maybe_creator_user_token
-- TODO: maybe_style_transfer_source_media_file_token (original videos)
-- TODO: Later: media_type = (mp4, video)
-- origin_product_category
select distinct origin_category,
count(*)
from media_files
group by origin_category;
-- +-----------------+----------+
-- | origin_category | count(*) |
-- +-----------------+----------+
-- | inference | 40933502 |
-- | processed | 365 |
-- | story_engine | 688 |
-- | studio | 148 |
-- | upload | 796516 |
-- +-----------------+----------+
-- 5 rows in set (54.69 sec) -- TODO [QUERY DONE]: Get origin_category = `story_engine`, `studio`, and `processed` (???)
-- origin_product_category
select distinct origin_product_category,
count(*)
from media_files
group by origin_product_category;
-- +-------------------------+----------+
-- | origin_product_category | count(*) |
-- +-------------------------+----------+
-- | face_animator | 145770 |
-- | face_fusion | 1524 |
-- | face_mirror | 12743 |
-- | image_gen | 450196 |
-- | mocap | 436 |
-- | studio | 148 |
-- | tts | 33757597 |
-- | unknown | 94182 |
-- | voice_conversion | 6664633 |
-- | workflow | 46011 |
-- | zs_voice | 558212 |
-- +-------------------------+----------+
-- 11 rows in set (45.88 sec)
-- TODO [QUERIES DONE(2)]: Get origin_product_category = `mocap`, `studio`, `workflow`, `face_mirror`, `face_fusion`
-- maybe_origin_model_type (+token)
select distinct maybe_origin_model_type,
count(*)
from media_files
group by maybe_origin_model_type;
-- +-------------------------+----------+
-- | maybe_origin_model_type | count(*) |
-- +-------------------------+----------+
-- | NULL | 347531 |
-- | comfy_ui | 46013 |
-- | face_fusion | 1524 |
-- | gpt_sovits | 304046 |
-- | live_portrait | 12743 |
-- | mocap_net | 71 |
-- | rvc_v2 | 6107295 |
-- | sad_talker | 156308 |
-- | so_vits_svc | 557377 |
-- | stable_diffusion_1_5 | 450196 |
-- | styletts2 | 263575 |
-- | tacotron2 | 33453882 |
-- | vall_e_x | 31188 |
-- +-------------------------+----------+
-- 13 rows in set (51.98 sec)
-- TODO [DONEx2]: maybe_origin_model_type = comfy_ui, mocap_net, face_fusion, live_portrait
-- media_type
select distinct media_type,
count(*)
from media_files
group by media_type;
-- +------------+----------+
-- | media_type | count(*) |
-- +------------+----------+
-- | audio | 40676557 |
-- | bvh | 107 |
-- | fbx | 325 |
-- | gif | 7 |
-- | glb | 3100 |
-- | gltf | 45 |
-- | image | 481274 |
-- | jpg | 91 |
-- | mp4 | 13280 |
-- | pmd | 11 |
-- | pmx | 239 |
-- | png | 208 |
-- | scene_json | 4562 |
-- | scene_ron | 688 |
-- | video | 247391 |
-- | vmd | 168 |
-- | wav | 303996 |
-- +------------+----------+
-- 17 rows in set (43.68 sec)
-- TODO [DONE WITH QUERY]: media_type = bvh, fbx, gif, glb, gltf, jpg, png, pmx, pmd, scene_json, scene_ron, vmd
-- TODO: Later: media_type = (mp4, video)
-- media_class
select distinct media_class,
count(*)
from media_files
group by media_class;
-- +-------------+----------+
-- | media_class | count(*) |
-- +-------------+----------+
-- | audio | 40786861 |
-- | dimensional | 7846 |
-- | image | 30446 |
-- | unknown | 653032 |
-- | video | 254270 |
-- +-------------+----------+
-- 5 rows in set (46.78 sec)
-- TODO [QUERY DONE]: media_class = dimensional
-- maybe_media_subtype
select distinct maybe_media_subtype,
count(*)
from media_files
group by maybe_media_subtype;
-- +---------------------+----------+
-- | maybe_media_subtype | count(*) |
-- +---------------------+----------+
-- | NULL | 41730497 |
-- | mixamo | 950 |
-- | storyteller_scene | 766 |
-- | scene_import | 385 |
-- | mocap_net | 2 |
-- | animation_only | 15 |
-- | object | 1 |
-- +---------------------+----------+
-- 7 rows in set (25.48 sec)
-- TODO [QUERY DONE]: maybe_media_subtype IS NOT NULL
-- maybe_animation_type
select distinct maybe_animation_type,
count(*)
from media_files
group by maybe_animation_type;
-- +----------------------+----------+
-- | maybe_animation_type | count(*) |
-- +----------------------+----------+
-- | NULL | 41732552 |
-- | mixamo | 360 |
-- | mocap_net_ar_kit | 1 |
-- | ar_kit | 41 |
-- | move_ai | 46 |
-- | move_ai_ar_kit | 7 |
-- | rigify | 7 |
-- | mixamo_ar_kit | 114 |
-- | miku_miku_dance | 290 |
-- | mocap_net | 2 |
-- +----------------------+----------+
-- 10 rows in set (27.46 sec)
-- TODO [QUERY DONE]: maybe_animation_type IS NOT NULL
-- maybe_engine_category
select distinct maybe_engine_category,
count(*)
from media_files
group by maybe_engine_category;
-- +-----------------------+----------+
-- | maybe_engine_category | count(*) |
-- +-----------------------+----------+
-- | NULL | 41729660 |
-- | animation | 344 |
-- | character | 707 |
-- | creature | 71 |
-- | expression | 45 |
-- | image_plane | 306 |
-- | location | 105 |
-- | object | 694 |
-- | scene | 4493 |
-- | set_dressing | 44 |
-- | skybox | 1 |
-- | video_plane | 77 |
-- +-----------------------+----------+
-- 12 rows in set (36.41 sec)
-- TODO [QUERY DONE]: maybe_engine_category IS NOT NULL
@@ -1,12 +0,0 @@
-- Media file cover images
select distinct maybe_cover_image_media_file_token
from media_files
where maybe_cover_image_media_file_token is not null
group by maybe_cover_image_media_file_token
-- Model weights cover images
select distinct maybe_cover_image_media_file_token
from model_weights
where maybe_cover_image_media_file_token is not null
group by maybe_cover_image_media_file_token
@@ -1,59 +0,0 @@
-- STUDIO_maybe_media_subtype_not_null.csv
select token
from media_files
where maybe_media_subtype IS NOT NULL;
-- STUDIO_dimensional_media_class.csv
select token
from media_files
where media_class = 'dimensional';
-- STUDIO_maybe_animation_type_not_null.csv
select token
from media_files
where maybe_animation_type IS NOT NULL;
-- STUDIO_IMPORTANT_maybe_engine_category_not_null.csv
select token
from media_files
where maybe_engine_category IS NOT NULL;
-- STUDIO_IMPORTANT_scene_source_token_not_null.csv
select distinct maybe_scene_source_media_file_token
from media_files
where maybe_scene_source_media_file_token IS NOT NULL
group by maybe_scene_source_media_file_token;
-- STUDIO_media_file_origin_categories.csv
select token
from media_files
where origin_category IN ('processed', 'studio', 'story_engine');
-- STUDIO_media_file_studio_asset_product_category.csv
select token
from media_files
where origin_product_category IN ('mocap', 'studio', 'workflow');
-- VIDEO_media_file_video_product_category.csv
select token
from media_files
where origin_product_category IN ('face_mirror', 'face_fusion');
-- VIDEO_media_file_video_origin_model_type.csv
select token
from media_files
where maybe_origin_model_type IN ('comfy_ui', 'face_fusion', 'live_portrait');
-- STUDIO_media_file_mocap_model_type.csv
select token
from media_files
where maybe_origin_model_type IN ('mocap_net');
select token
from media_files
where media_type IN ('bvh', 'fbx', 'gif', 'glb', 'gltf', 'jpg', 'pmd', 'pmx', 'png', 'scene_json', 'scene_ron', 'vmd');
select token
from media_files
where media_type IN ('mp4', 'video');
@@ -1,4 +0,0 @@
select token
from media_files
where is_intermediate_system_file IS TRUE
@@ -1,16 +0,0 @@
-- Find vcm_* tokens that are still in use
select
job_token,
model_token,
user_token
from (
select token as job_token,
maybe_model_token as model_token,
maybe_creator_user_token as user_token
from generic_inference_jobs
order by id
desc limit 1000000
) as x
where model_token NOT LIKE "TM:%"
and model_token NOT LIKE "weight_%"
limit 50;
@@ -2,43 +2,31 @@
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Get pending job count
select count(*)
from generic_inference_jobs
where status = 'pending';
-- Kill routed jobs
update generic_inference_jobs set status = 'dead' where maybe_routing_tag IS NOT NULL limit 100;
-- Get pending job count by job type
select
job_type,
count(*)
from generic_inference_jobs
where status = 'pending'
group by job_type;
-- Get pending jobs
select count(*) from generic_inference_jobs where status = 'pending';
-- Kill *ALL* pending / outstanding jobs of any type
-- Kill outstanding jobs
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed');
-- Kill all routed jobs
-- Kill outstanding jobs of type
update generic_inference_jobs
set status = 'dead'
where maybe_routing_tag IS NOT NULL;
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('sad_talker', 'so_vits_svc');
-- Kill all Tacotron TTS jobs
-- Tacotron 2 TTS
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('tacotron2');
-- Kill all Sad Talker Face Animation jobs
-- Sad Talker Face Animation
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('sad_talker');
-- Kill all jobs of several types
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('sad_talker', 'so_vits_svc');
@@ -12,7 +12,7 @@ SELECT
maybe_creator_user_token,
users.username as maybe_creator_username,
creator_ip_address,
count(*) as total_job_count
count(*) as attempts
FROM (
SELECT
maybe_creator_user_token,
@@ -22,16 +22,15 @@ FROM (
creator_ip_address,
created_at
FROM generic_inference_jobs
where status = 'pending'
ORDER BY id DESC
LIMIT 50000
LIMIT 10000
) as j
WHERE j.created_at > NOW() - INTERVAL 30 MINUTE
) as jobs
LEFT OUTER JOIN users
ON users.token = jobs.maybe_creator_user_token
group by maybe_creator_user_token, maybe_creator_username, creator_ip_address
order by total_job_count desc;
order by attempts desc;
-- Bin histogram by creator user (including logged out)
@@ -39,7 +38,7 @@ order by total_job_count desc;
SELECT
users.username as maybe_creator_username,
maybe_creator_user_token,
count(*) as total_job_count
count(*) as attempts
FROM (
SELECT
maybe_creator_user_token,
@@ -57,7 +56,7 @@ FROM (
LEFT OUTER JOIN users
ON users.token = jobs.maybe_creator_user_token
group by maybe_creator_user_token, maybe_creator_username
order by total_job_count desc;
order by attempts desc;
-- Bin histogram by IP (logged in and non-logged in)
@@ -2,19 +2,7 @@
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Pending jobs
select
count(*),
job_type
from generic_inference_jobs
where status in ('pending', 'started', 'attempt_failed')
group by job_type;
update generic_inference_jobs
set status = 'dead'
where status in ('pending', 'started', 'attempt_failed')
-- Histogram by type over last 50,000 jobs
-- Histogram by type
-- NB: no index on ip, hence subquery
select
job_type,
@@ -32,7 +20,7 @@ FROM (
) as j
group by job_type, inference_category, maybe_model_type;
-- Histogram by type over last 50,000 jobs that are "still processing"
-- Histogram by type (still processing)
-- NB: no index on ip, hence subquery
select
job_type,
@@ -1,28 +0,0 @@
-- Find old stale jobs
select
job_type,
count(*)
from generic_inference_jobs
where status = 'started'
and created_at < (CURDATE() - INTERVAL 30 MINUTE)
group by job_type;
-- Kill old stale jobs
update generic_inference_jobs
set status = 'dead'
where status = 'started'
and created_at < (CURDATE() - INTERVAL 30 MINUTE)
-- Check up on recent jobs after purge
select
job_type,
count(*)
from generic_inference_jobs
where status = 'started'
group by job_type;
-- Kill old pending jobs too
update generic_inference_jobs
set status = 'dead'
where status = 'pending'
and created_at < (CURDATE() - INTERVAL 30 MINUTE)
@@ -1,8 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Get pending job count
select count(*)
from generic_inference_jobs
where status = 'pending';
@@ -1,12 +0,0 @@
select
u.username,
count(*) as generations
from generic_inference_jobs as gij
join users as u
on gij.maybe_creator_user_token = u.token
where gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
and gij.maybe_creator_user_token is not null
group by u.username
order by generations desc
limit 10
@@ -1,46 +0,0 @@
-- Total usage
select
count(*) as use_count
from generic_inference_jobs as gij
where gij.product_category = 'vid_face_fusion'
and gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
-- Usage by user
select
u.token,
u.username,
count(*) as use_count
from generic_inference_jobs as gij
left outer join users as u
on u.token = gij.maybe_creator_user_token
where gij.product_category = 'vid_face_fusion'
and gij.created_at >= (CURDATE() - INTERVAL 2 DAY)
group by u.token, u.username
order by use_count desc
-- TTS vs Face Fusion side by side statistics
select
x.user_token,
x.username,
x.face_fusion_count,
count(*) as tts_count
from (
select
u.token as user_token,
u.username,
count(*) as face_fusion_count
from generic_inference_jobs as gij
left outer join users as u
on u.token = gij.maybe_creator_user_token
where gij.product_category = 'vid_face_fusion'
and gij.created_at >= (CURDATE() - INTERVAL 1 DAY)
group by u.token, u.username
) as x
left outer join generic_inference_jobs as gij
on x.user_token = gij.maybe_creator_user_token
where gij.product_category = 'tts_tacotron2'
and gij.created_at >= (CURDATE() - INTERVAL 1 DAY)
group by x.user_token, x.username
order by face_fusion_count desc
@@ -1,10 +0,0 @@
SELECT
m.media_type,
COUNT(*)
FROM media_files as m
JOIN users as u
ON m.maybe_creator_user_token = u.token
WHERE u.username = lower('dzth')
GROUP BY m.media_type
@@ -1,35 +0,0 @@
-- Top users in a time period
select
u.username,
u.token,
u.created_at,
count(*) as generations
from
media_files as m
join users as u
on m.maybe_creator_user_token = u.token
where
m.created_at >= (CURDATE() - INTERVAL 5 DAY)
group by
u.username, u.token, u.created_at
order by
generations desc
limit 50;
-- Top users all time
select
u.username,
u.token,
u.created_at,
count(*) as generations
from
media_files as m
join users as u
on m.maybe_creator_user_token = u.token
group by
u.username, u.token, u.created_at
order by
generations desc
limit 500;
@@ -1,22 +0,0 @@
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| token | varchar(32) | NO | MUL | NULL | |
| on_date | date | NO | MUL | NULL | |
| usage_count | int(10) unsigned | NO | MUL | 0 | |
+-------------+------------------+------+-----+---------+----------------+
--- Top models after date
select
w.token,
substring(w.title, 1, 100) as title,
sum(usage_count) as usage_count
from model_weight_usage_counts as uc
join model_weights as w
on uc.token = w.token
where on_date >= '2024-09-01'
group by w.token
order by usage_count desc
limit 150;
@@ -1,12 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- List GptSoVits model downloads for user (Vegito)
select *
from generic_inference_jobs
where maybe_creator_user_token = 'U:E00D2RD3ZNZ7P'
and job_type = 'gpt_sovits'
and maybe_download_url IS NOT NULL
order by id desc
limit 100\G
@@ -1,47 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Inventory non-deleted
select
m.id,
m.token,
SUBSTRING(m.title, 1, 35) as title,
u.username,
SUBSTRING(m.original_download_url, 1, 35) as url,
m.updated_at
from model_weights as m
left join users AS u on
u.token = m.creator_user_token
where
m.user_deleted_at IS NULL
and m.mod_deleted_at IS NULL
order by m.title asc;
-- Top models within time period
-- NB: id threshold is to avoid a full table scan
select
mw.token,
mw.title,
mw.weights_type,
mw.weights_category,
u.username as creator_username,
r.use_count,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
from (
select maybe_model_token, count(*) as use_count
from generic_inference_jobs
where maybe_model_token IS NOT NULL
and created_at > NOW() - INTERVAL 7 DAY
and id > 40000000
group by maybe_model_token
) as r
join model_weights as mw
on mw.token = r.maybe_model_token
join users as u
on u.token = mw.creator_user_token
order by r.use_count desc
limit 100;
@@ -1,65 +0,0 @@
-- This query works!
-- Here we get a histogram of model usages on a particular day.
-- This fetches counts of all jobs that were submitted using either
-- a modern model_weights token or a legacy tts_model token and sums
-- them together when the two correspond to the same model_weight
-- record.
SELECT
distinct coalesce(w.token, w_old.token) as token,
COUNT(*) as usage_count
FROM
media_files as f
LEFT OUTER JOIN model_weights as w
ON f.maybe_origin_model_token = w.token
LEFT OUTER JOIN model_weights as w_old
ON f.maybe_origin_model_token = w_old.maybe_migration_old_model_token
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY coalesce(w.token, w_old.token)
ORDER BY usage_count DESC
LIMIT 10;
-- TESTING: Above query, but only modern model_weights tokens
SELECT
distinct w.token,
COUNT(*) as usage_count
FROM
media_files as f
JOIN model_weights as w
ON f.maybe_origin_model_token = w.token
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY w.token
ORDER BY usage_count DESC
LIMIT 10;
-- TESTING: Above query, but only legacy tts_models tokens
SELECT
distinct w_old.token,
COUNT(*) as usage_count
FROM
media_files as f
LEFT OUTER JOIN model_weights as w_old
ON f.maybe_origin_model_token = w_old.maybe_migration_old_model_token
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY w_old.token
ORDER BY usage_count DESC
LIMIT 10;
-- TESTING: Testing that the math works without joining
SELECT
distinct f.maybe_origin_model_token,
COUNT(*) as usage_count
FROM
media_files as f
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY f.maybe_origin_model_token
ORDER BY usage_count DESC
LIMIT 10;
@@ -0,0 +1,21 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Inventory non-deleted
select
m.id,
m.token,
SUBSTRING(m.title, 1, 35) as title,
u.username,
SUBSTRING(m.original_download_url, 1, 35) as url,
m.updated_at
from model_weights as m
left join users AS u on
u.token = m.creator_user_token
where
m.user_deleted_at IS NULL
and m.mod_deleted_at IS NULL
order by m.title asc;
@@ -1,265 +0,0 @@
-- Find top model weights by usage.
-- Remove "AI Streamers" and top users
-- This supports old-format TTS tokens.
-- This is a very expensive query that takes forever to run:
-- 1000 rows in set (7 hours 6 min 8.98 sec)
SELECT
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at,
count(*) as use_count
FROM model_weights as mw
JOIN (
-- First subquery: media_files records that reference model_weights or migrated model_weights
select
coalesce(w.token, w_migrated.token) as token
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
where
f.maybe_creator_user_token NOT IN (
"U:03HG1NRMDT7A6", "U:0BJT98T611SZC", "U:0T2NJR5VJRT8Z", "U:19WD4DHDR8XDH", "U:1S4G4YY0EW2X6", "U:211ZHWM8J1F8B",
"U:246RSQQGZE7F7", "U:2H5SED9TD85AW", "U:2RAPWS9K5HEYZ", "U:2TEZS9T6AK6CY", "U:36910S9YX5M7S", "U:3MQB45NCHSNH9",
"U:3S8S9X3H9B6SA", "U:3T08BX8GFDGJ2", "U:4MFYA09TH7SD1", "U:4Z8DK9T7K4170", "U:5P0BDXD18ST8C", "U:5W2X30KK6KNAP",
"U:5WTDZVMX23WC1", "U:5Z4ZMBVZT8FYP", "U:6JJJRNN0B17CP", "U:6SCFF1NBHARQA", "U:70C2DNQ8NAPE2", "U:7HV0JNV82F85J",
"U:7N1GDKHSSSZNJ", "U:7WAD25W85TYHM", "U:89XRNEWENPCGX", "U:8D706H5C7E5MF", "U:9QH9CFSXE5EY8", "U:9T28V6PKPB7EM",
"U:A9HWW4VAE6XJ5", "U:AF0K4PMS37JWN", "U:BY6920DKHNDBT", "U:DG228ZACF1NAN", "U:DX55CFAPANPK3", "U:E4TSGYT5DX19C",
"U:ESVW6NHE6GHP8", "U:EW15EA1XNGFVB", "U:F1DXEJZ7HS137", "U:FVFZ0TN0Y0N4F", "U:FYNFQA4D40PH4", "U:GJJKBHK15C9W0",
"U:GSQGDX7HCQ9DK", "U:H2KWH2QPNHDRB", "U:JV591Y7HGVKMR", "U:KEXZ6BBGH75AX", "U:MBNYW84PRT7BB", "U:N0VXP0H0E36WT",
"U:NBNCMS81965ZS", "U:NFV8FYBZHZPP4", "U:P6W06DB29G9SZ", "U:PM36EZDVKCMW3", "U:QJ9PGBCJR2101", "U:QPEXYBZJ5TB9K",
"U:QYGQSZ0232EXP", "U:R2MATFEE7223X", "U:RAE3M212X65W6", "U:RBH6ZHBDDVH3Q", "U:SVZRVJSP04JAE", "U:SYW8H845YZJBW",
"U:T3EE4GCA5Q4ZJ", "U:T7T6XH9540GVV", "U:TBM1Z40A46NXZ", "U:V7VA6DS24T2VE", "U:VVFERXHKNT4KN", "U:VW9XKV9NWV6WS",
"U:WA1Q15SB6Q1VJ", "U:WG9S2GHDW8MA0", "U:WHB70A279YBPJ", "U:WHXJK1RSYM5WD", "U:WJJT9AHJHGJS5", "U:WPF17KR1HB4YV",
"U:XACATP3C7NG5D", "U:XWA2SDNQBYMXD", "U:Y2Q8Q7C537G88", "U:YASA2RC19EHGY", "U:YX31ZJ517T40G", "U:Z477H1KNSY3B5",
"user_23jmwykxjjrm4", "user_2xes0wjhfmybb", "user_4c2qcpbq6twv7", "user_5eq7hj7vnmqqc", "user_73k9zn3jxvcxs",
"user_7yjk723jtfmj6", "user_8h8ffwmgphmq9", "user_9rjpehtnpd6tb", "user_a7nef57s5ypgm", "user_as01gf1gfc8ny",
"user_at41z2z9zafdz", "user_aw7m4d07fjzrv", "user_bkypxftv69675", "user_bz76arxrmr0vj", "user_cewjs06e36hfq",
"user_dppfbvwjq2963", "user_e9fwd2xfn2ajv", "user_gv0a0vec80540", "user_hdav69agkm2mw", "user_kqfdj8rdhkpnv",
"user_mhzm8s7q9jt6h", "user_q7dj0hj3xy31g", "user_qcnpkvw9fnhyr", "user_vb7mch05njgnp", "user_vmdq5nq7bfckh",
"user_wb4592qst8t48", "user_wm3tzh0v91gnv", "user_x990jyt3ne4br", "user_xy3snt46r1edn", "user_y1b4ag72ezh65",
"user_y5q4s4he1snq9", "user_zgw9q4tz6506t"
)
and (w.token IS NOT NULL OR w_migrated.token IS NOT NULL)
UNION ALL
-- Second subquery: tts_results that reference tts_models (which we have migrated to model_weights)
select
w_migrated_2.token as token
from tts_results as tr
left outer join model_weights as w_migrated_2
on tr.model_token = w_migrated_2.maybe_migration_old_model_token
where
tr.maybe_creator_user_token NOT IN (
"U:03HG1NRMDT7A6", "U:0BJT98T611SZC", "U:0T2NJR5VJRT8Z", "U:19WD4DHDR8XDH", "U:1S4G4YY0EW2X6", "U:211ZHWM8J1F8B",
"U:246RSQQGZE7F7", "U:2H5SED9TD85AW", "U:2RAPWS9K5HEYZ", "U:2TEZS9T6AK6CY", "U:36910S9YX5M7S", "U:3MQB45NCHSNH9",
"U:3S8S9X3H9B6SA", "U:3T08BX8GFDGJ2", "U:4MFYA09TH7SD1", "U:4Z8DK9T7K4170", "U:5P0BDXD18ST8C", "U:5W2X30KK6KNAP",
"U:5WTDZVMX23WC1", "U:5Z4ZMBVZT8FYP", "U:6JJJRNN0B17CP", "U:6SCFF1NBHARQA", "U:70C2DNQ8NAPE2", "U:7HV0JNV82F85J",
"U:7N1GDKHSSSZNJ", "U:7WAD25W85TYHM", "U:89XRNEWENPCGX", "U:8D706H5C7E5MF", "U:9QH9CFSXE5EY8", "U:9T28V6PKPB7EM",
"U:A9HWW4VAE6XJ5", "U:AF0K4PMS37JWN", "U:BY6920DKHNDBT", "U:DG228ZACF1NAN", "U:DX55CFAPANPK3", "U:E4TSGYT5DX19C",
"U:ESVW6NHE6GHP8", "U:EW15EA1XNGFVB", "U:F1DXEJZ7HS137", "U:FVFZ0TN0Y0N4F", "U:FYNFQA4D40PH4", "U:GJJKBHK15C9W0",
"U:GSQGDX7HCQ9DK", "U:H2KWH2QPNHDRB", "U:JV591Y7HGVKMR", "U:KEXZ6BBGH75AX", "U:MBNYW84PRT7BB", "U:N0VXP0H0E36WT",
"U:NBNCMS81965ZS", "U:NFV8FYBZHZPP4", "U:P6W06DB29G9SZ", "U:PM36EZDVKCMW3", "U:QJ9PGBCJR2101", "U:QPEXYBZJ5TB9K",
"U:QYGQSZ0232EXP", "U:R2MATFEE7223X", "U:RAE3M212X65W6", "U:RBH6ZHBDDVH3Q", "U:SVZRVJSP04JAE", "U:SYW8H845YZJBW",
"U:T3EE4GCA5Q4ZJ", "U:T7T6XH9540GVV", "U:TBM1Z40A46NXZ", "U:V7VA6DS24T2VE", "U:VVFERXHKNT4KN", "U:VW9XKV9NWV6WS",
"U:WA1Q15SB6Q1VJ", "U:WG9S2GHDW8MA0", "U:WHB70A279YBPJ", "U:WHXJK1RSYM5WD", "U:WJJT9AHJHGJS5", "U:WPF17KR1HB4YV",
"U:XACATP3C7NG5D", "U:XWA2SDNQBYMXD", "U:Y2Q8Q7C537G88", "U:YASA2RC19EHGY", "U:YX31ZJ517T40G", "U:Z477H1KNSY3B5",
"user_23jmwykxjjrm4", "user_2xes0wjhfmybb", "user_4c2qcpbq6twv7", "user_5eq7hj7vnmqqc", "user_73k9zn3jxvcxs",
"user_7yjk723jtfmj6", "user_8h8ffwmgphmq9", "user_9rjpehtnpd6tb", "user_a7nef57s5ypgm", "user_as01gf1gfc8ny",
"user_at41z2z9zafdz", "user_aw7m4d07fjzrv", "user_bkypxftv69675", "user_bz76arxrmr0vj", "user_cewjs06e36hfq",
"user_dppfbvwjq2963", "user_e9fwd2xfn2ajv", "user_gv0a0vec80540", "user_hdav69agkm2mw", "user_kqfdj8rdhkpnv",
"user_mhzm8s7q9jt6h", "user_q7dj0hj3xy31g", "user_qcnpkvw9fnhyr", "user_vb7mch05njgnp", "user_vmdq5nq7bfckh",
"user_wb4592qst8t48", "user_wm3tzh0v91gnv", "user_x990jyt3ne4br", "user_xy3snt46r1edn", "user_y1b4ag72ezh65",
"user_y5q4s4he1snq9", "user_zgw9q4tz6506t"
)
) as x
on mw.token = x.token
group by
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
order by use_count desc
limit 1000;
-------- Only media_files version of the query -------
-- Find top model weights by usage.
-- Remove "AI Streamers" and top users
-- This supports old-format TTS tokens.
-- This only queries the media_files table and runs in just 8 minutes.
SELECT
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at,
count(*) as use_count
FROM model_weights as mw
JOIN (
select
coalesce(w.token, w_migrated.token) as token
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
and f.maybe_creator_user_token NOT IN (
"U:03HG1NRMDT7A6", "U:0BJT98T611SZC", "U:0T2NJR5VJRT8Z", "U:19WD4DHDR8XDH", "U:1S4G4YY0EW2X6", "U:211ZHWM8J1F8B",
"U:246RSQQGZE7F7", "U:2H5SED9TD85AW", "U:2RAPWS9K5HEYZ", "U:2TEZS9T6AK6CY", "U:36910S9YX5M7S", "U:3MQB45NCHSNH9",
"U:3S8S9X3H9B6SA", "U:3T08BX8GFDGJ2", "U:4MFYA09TH7SD1", "U:4Z8DK9T7K4170", "U:5P0BDXD18ST8C", "U:5W2X30KK6KNAP",
"U:5WTDZVMX23WC1", "U:5Z4ZMBVZT8FYP", "U:6JJJRNN0B17CP", "U:6SCFF1NBHARQA", "U:70C2DNQ8NAPE2", "U:7HV0JNV82F85J",
"U:7N1GDKHSSSZNJ", "U:7WAD25W85TYHM", "U:89XRNEWENPCGX", "U:8D706H5C7E5MF", "U:9QH9CFSXE5EY8", "U:9T28V6PKPB7EM",
"U:A9HWW4VAE6XJ5", "U:AF0K4PMS37JWN", "U:BY6920DKHNDBT", "U:DG228ZACF1NAN", "U:DX55CFAPANPK3", "U:E4TSGYT5DX19C",
"U:ESVW6NHE6GHP8", "U:EW15EA1XNGFVB", "U:F1DXEJZ7HS137", "U:FVFZ0TN0Y0N4F", "U:FYNFQA4D40PH4", "U:GJJKBHK15C9W0",
"U:GSQGDX7HCQ9DK", "U:H2KWH2QPNHDRB", "U:JV591Y7HGVKMR", "U:KEXZ6BBGH75AX", "U:MBNYW84PRT7BB", "U:N0VXP0H0E36WT",
"U:NBNCMS81965ZS", "U:NFV8FYBZHZPP4", "U:P6W06DB29G9SZ", "U:PM36EZDVKCMW3", "U:QJ9PGBCJR2101", "U:QPEXYBZJ5TB9K",
"U:QYGQSZ0232EXP", "U:R2MATFEE7223X", "U:RAE3M212X65W6", "U:RBH6ZHBDDVH3Q", "U:SVZRVJSP04JAE", "U:SYW8H845YZJBW",
"U:T3EE4GCA5Q4ZJ", "U:T7T6XH9540GVV", "U:TBM1Z40A46NXZ", "U:V7VA6DS24T2VE", "U:VVFERXHKNT4KN", "U:VW9XKV9NWV6WS",
"U:WA1Q15SB6Q1VJ", "U:WG9S2GHDW8MA0", "U:WHB70A279YBPJ", "U:WHXJK1RSYM5WD", "U:WJJT9AHJHGJS5", "U:WPF17KR1HB4YV",
"U:XACATP3C7NG5D", "U:XWA2SDNQBYMXD", "U:Y2Q8Q7C537G88", "U:YASA2RC19EHGY", "U:YX31ZJ517T40G", "U:Z477H1KNSY3B5",
"user_23jmwykxjjrm4", "user_2xes0wjhfmybb", "user_4c2qcpbq6twv7", "user_5eq7hj7vnmqqc", "user_73k9zn3jxvcxs",
"user_7yjk723jtfmj6", "user_8h8ffwmgphmq9", "user_9rjpehtnpd6tb", "user_a7nef57s5ypgm", "user_as01gf1gfc8ny",
"user_at41z2z9zafdz", "user_aw7m4d07fjzrv", "user_bkypxftv69675", "user_bz76arxrmr0vj", "user_cewjs06e36hfq",
"user_dppfbvwjq2963", "user_e9fwd2xfn2ajv", "user_gv0a0vec80540", "user_hdav69agkm2mw", "user_kqfdj8rdhkpnv",
"user_mhzm8s7q9jt6h", "user_q7dj0hj3xy31g", "user_qcnpkvw9fnhyr", "user_vb7mch05njgnp", "user_vmdq5nq7bfckh",
"user_wb4592qst8t48", "user_wm3tzh0v91gnv", "user_x990jyt3ne4br", "user_xy3snt46r1edn", "user_y1b4ag72ezh65",
"user_y5q4s4he1snq9", "user_zgw9q4tz6506t"
)
) as x
on mw.token = x.token
group by
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
order by use_count desc
limit 100;
+----------------------------------+--------------+----------------------------------------------------------------------------------------------------------------+---------------------+---------------------+----------------+-----------+
| token | weights_type | title | created_at | user_deleted_at | mod_deleted_at | use_count |
+----------------------------------+--------------+----------------------------------------------------------------------------------------------------------------+---------------------+---------------------+----------------+-----------+
| weight_0f762jdzgsy1dhpb86qxy4ssm | tt2 | Rick Sanchez (Version 2.0) | 2023-05-14 05:26:03 | NULL | NULL | 846105 |
| weight_sfyjyr67ag1647xs0r7gmvkks | tt2 | Deleted Model | 2023-09-27 15:06:37 | NULL | NULL | 702990 |
| weight_kwmxssf6k6ha92h3b55mh3w9q | tt2 | Waldemaro Martínez. (Locutor de DJ, Latin American Spanish.) | 2022-12-22 02:59:57 | NULL | NULL | 426417 |
| weight_ahxbf2104ngsgyegncaefyy6j | tt2 | Plankton v2 (Doug Lawrence) | 2022-08-11 06:19:56 | NULL | NULL | 401748 |
| weight_rhfg4chgrp42bnha8kqfrtmcq | tt2 | Mariano Closs (full version) | 2022-04-28 20:57:04 | NULL | NULL | 377601 |
| weight_34vt3stah9xyts72zrya85vc9 | tt2 | "Arthur C. Clarke" (901ep) | 2022-04-15 08:34:03 | NULL | NULL | 297574 |
| weight_hehgvegadf08mfp5rzd69dmh4 | tt2 | Angry Male Yelling | 2023-10-20 11:30:46 | NULL | NULL | 291089 |
| weight_hz7g8f1j4psrsw2sv67e4y61q | tt2 | Mariano Closs (Relator de fútbol Argentino) | 2022-04-11 01:45:01 | NULL | NULL | 264792 |
| weight_83bv8pnva9vewht8zpye1x060 | tt2 | Dragonball Z Narrador (Latin, Version 1.0) | 2022-07-28 05:05:33 | NULL | NULL | 261753 |
| weight_txvtzmcd7jw0rg192284r1g3w | tt2 | Son Goku. (IMITADOR Remasterizado.) (Dragon Ball, Latin American Spanish.) | 2023-10-07 20:10:36 | NULL | NULL | 252080 |
| weight_b8rncypy7gw6nb0wthnwe2kk4 | tt2 | Zelda (Breath of the Wild) | 2023-05-17 00:30:49 | NULL | NULL | 247036 |
| weight_h8ebh6fyjyrr1vsjregw6yz8y | tt2 | Eric Cartman (Angry) | 2023-08-18 22:17:34 | NULL | NULL | 220012 |
| weight_mbcr352wfb1eq76tpy3ef3kx1 | tt2 | Lionel Messi | 2022-09-08 22:50:12 | NULL | NULL | 193128 |
| weight_31ewdsvev9bttgb4eg7zy7mj5 | tt2 | Morgan Freeman (New) | 2023-09-08 05:20:34 | NULL | NULL | 189755 |
| weight_t7a4br08b76btnnwkb32tsh7q | tt2 | Cristiano Ronaldo. (Español) Versión 2. | 2023-10-05 15:12:04 | NULL | NULL | 180499 |
| weight_fte9rq3em7vv9rqex0f8cvwdx | tt2 | Mariano Closs Tono Alto (Relator Fox Sports, Espn) | 2022-07-16 02:09:31 | NULL | NULL | 177236 |
| weight_kksrk14y802808as3d6mphedm | tt2 | Wednesday Addams (Jenna Ortega) | 2023-03-06 21:22:52 | NULL | NULL | 161520 |
| weight_zyadhwrc3bspetkxcma5300gs | tt2 | Peter Griffin (Classic, Version 2.0) | 2023-01-26 05:24:39 | NULL | NULL | 150694 |
| weight_r95f5pvvstgps0ychfqrzpfs3 | tt2 | Dragonball Z Narrador (Latin, Versión 2.0) | 2023-02-04 11:21:06 | NULL | NULL | 146141 |
| weight_3k28fws0v6r1ke3p0w0vw48gm | tt2 | Eric Cartman (New) | 2023-08-18 22:18:12 | NULL | NULL | 144175 |
| weight_0cg1294gaf52c7rh0vz7a2ger | tt2 | Stan Lee | 2021-08-17 10:56:25 | NULL | NULL | 133422 |
| weight_81waz0re2yzgw2fnmj0ah94zc | tt2 | Leonel Messi (Español) | 2022-06-05 13:31:20 | NULL | NULL | 129950 |
| weight_jzs5qmvtbvk934680ghfp48cf | tt2 | Homero Simpson (Homer Simpson Latin American Spanish) | 2022-12-25 14:52:16 | NULL | NULL | 129133 |
| weight_35ts2r0y8zkxzka82qh2jtr9h | sd_1.5 | Clarity 3 (Best Base Model) | 2024-02-18 22:28:46 | NULL | NULL | 122394 |
| weight_0bsxzrwp6p77t67s8dcn607wf | tt2 | Walter White (New) | 2022-12-13 07:35:03 | NULL | NULL | 118258 |
| weight_47hcjvnyfff60g4vty4thp400 | tt2 | Bob Esponja (SpongeBob SquarePants, Latin American Spanish) | 2022-02-13 01:55:52 | NULL | NULL | 115011 |
| weight_9409hbznp60n6w7ey9f6qw5bh | tt2 | Jar Jar Binks | 2023-05-26 22:08:02 | NULL | NULL | 105357 |
| weight_tq6pwerrbr4mvbjmtyhbsqe6t | tt2 | Spongebob SquarePants (New) | 2023-04-01 10:47:13 | NULL | NULL | 98595 |
| weight_x6r5w2tsxgcrrsgweva6dkrqj | tt2 | Donald Trump (Angry) | 2022-08-29 11:49:46 | NULL | NULL | 92875 |
| weight_62nh7prayvcnevbg2hq5qp1r8 | tt2 | Jesse Pinkman (New) | 2023-09-27 20:34:33 | NULL | NULL | 92259 |
| weight_f4av238kbadw9h258v1cq1mxw | tt2 | Saul Goodman | 2022-09-10 13:30:24 | NULL | NULL | 84818 |
| weight_ren3ng1bvpktsvg58gcrv2s52 | tt2 | Cristiano Ronaldo | 2023-02-18 17:16:22 | NULL | NULL | 83957 |
| weight_qnn4ns4r2a8x5abgb6fdg7tyz | tt2 | Homer Simpson (New) | 2023-12-04 20:58:48 | NULL | NULL | 75059 |
| weight_nzmwdhg42r8m6raap258mb55p | tt2 | Meg Griffin (Mila Kunis) | 2021-12-12 21:05:49 | NULL | NULL | 73956 |
| weight_79nve5ntc03rd2k5532je1rf6 | tt2 | Fluttershy. (Remasterizada) (Latin American Spanish, My Little Pony.) | 2023-10-23 23:43:11 | NULL | NULL | 73700 |
| weight_ms1kzt5m09cfw1yn666cxhy88 | tt2 | Gerry Scotti | 2022-09-29 22:14:26 | NULL | NULL | 72964 |
| weight_s0zjjkmht28dp4gm83e6xvjdk | tt2 | Auronplay (época de YouTube) | 2022-06-14 15:59:00 | NULL | NULL | 72813 |
| weight_vbz0wq7wkv80casj3vfptrrpg | sd_1.5 | Aniverse V15 Pruned | 2024-02-29 19:49:52 | NULL | NULL | 69564 |
| weight_1f7xnr358bkrhtx8y0v9cbfr6 | tt2 | Lionel Messi. (Español 2020 - 2023.) | 2023-09-28 20:02:33 | NULL | NULL | 69112 |
| weight_pttvmv1z6ppddypx37z1e8ptj | tt2 | Mike Ehrmantraut (New) | 2023-08-13 03:35:16 | NULL | NULL | 68980 |
| weight_79mn6535kkfey17bgpg9xty23 | tt2 | Doc Tops (Dr. Luca Merlini) | 2022-04-08 00:22:00 | NULL | NULL | 68632 |
| weight_vcvr8zmz7sa6byzsze7rbqfh6 | rvc_v2 | "Aquamarine" Aqua Hoshino (Oshi No Ko) | 2023-12-18 13:26:55 | NULL | NULL | 68581 |
| weight_3dnyrwny7d4585pcfjdrghxsq | tt2 | Gustavo Fring (Giancarlo Esposito) | 2022-10-14 21:20:08 | NULL | NULL | 68175 |
| weight_abe03ym9bztnzvx462kkc3fak | tt2 | Merlina Addams | 2023-01-30 01:20:47 | NULL | NULL | 67616 |
| weight_wzp5nb29078wdnadg2aep4m8k | rvc_v2 | "Android No.21" [JPN - DBFZ] | 2023-10-23 04:25:53 | 2024-02-16 17:56:39 | NULL | 65153 |
| weight_vrx7j407cxk45jenkrd769h9b | tt2 | Donald Trump (Casual Speech) | 2022-09-05 01:56:36 | NULL | NULL | 63223 |
| weight_y9arhnd7wjamezhqd27ksvmaz | tt2 | Squidward Tentacles | 2021-10-30 15:21:53 | NULL | NULL | 63061 |
| weight_s4bmmamst4a7ca2pg7tc52zwx | tt2 | Goku (Jose Antonio Gavira) (Castillian Spanish) | 2022-09-18 15:09:32 | NULL | NULL | 61928 |
| weight_bc0tjv6fs7c1ccrtw8mbwxay5 | tt2 | Sir David Attenborough (Version 2.0) | 2023-07-05 13:43:53 | NULL | NULL | 61261 |
| weight_jephx9sjmwzc7t4x29jsw88jg | tt2 | Mike Rome | 2023-08-19 08:55:25 | NULL | NULL | 59687 |
| weight_154man2fzg19nrtc15drner7t | tt2 | Patrick Star | 2021-09-21 18:30:52 | NULL | NULL | 59674 |
| weight_cg6heneq0rmkas3qj7ccz0t0r | tt2 | Donald Trump (Version 3.0) | 2023-09-12 05:09:33 | NULL | NULL | 55991 |
| weight_yqexh77ntqyawzgh9fzash798 | sd_1.5 | Flat2D Animerge v3 | 2024-02-28 21:00:43 | NULL | NULL | 54861 |
| weight_ytna28rq62as8t5zb0qtpf3p6 | tt2 | Homero Simpson Español Latino (Clasico) | 2023-01-20 23:43:12 | NULL | NULL | 54697 |
| weight_x59j84hsy4zf8zj1rta0f2c0a | tt2 | Toretto (Fast and Furious, Latin American Spanish) | 2022-02-13 14:38:55 | NULL | NULL | 53181 |
| weight_m7ns3pee2hze7r5hs3c1c5ew3 | tt2 | Fernanfloo. (Modelo más expresivo.) (Latin American Spanish.) | 2023-01-02 00:16:04 | NULL | NULL | 51191 |
| weight_7nkrya6jq2gdmhvzvhwe6565a | tt2 | Baldi (Baldi Basics Education And Learning) | 2022-10-07 13:37:12 | NULL | NULL | 49977 |
| weight_kfc9kqm18k4jc3q2j3acdzj1a | tt2 | Waldemaro Martienez (Locutor) | 2022-12-08 15:59:55 | NULL | NULL | 49856 |
| weight_828jq9waqx5g9dzp7gr6a2a1p | tt2 | Kanye West (V4) | 2022-10-09 00:18:56 | NULL | NULL | 48616 |
-- (WIP) Find top model weights by usage. This supports old-format TTS tokens.
SELECT
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at,
count(*) as use_count
FROM model_weights as mw
JOIN (
select
coalesce(w.token, w_migrated.token) as token
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
where f.created_at > NOW() - INTERVAL 3 DAY
) as x
on mw.token = x.token
group by
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
order by use_count desc
limit 100;
mysql> select count(*) from tts_results;
+-----------+
| count(*) |
+-----------+
| 192830507 | -- 192,830,507
+-----------+
1 row in set (8 min 47.22 sec)
mysql> select count(*) from media_files;
+----------+
| count(*) |
+----------+
| 40057845 | -- 40,057,845 (sept 1st, 2024)
+----------+
1 row in set (36.59 sec)
File diff suppressed because it is too large Load Diff
@@ -1,33 +0,0 @@
-- Select popular models without streamer usage distorting the totals
select
mw.token,
mw.title,
count(*) as use_count
from generic_inference_jobs as gij
left outer join model_weights as mw
on gij.maybe_model_token = mw.token
where gij.maybe_creator_user_token NOT IN (
-- This subquery returns streamers that generated over a certain threshold number of results
select
user_token
from (
select
u.token as user_token,
count(*) as generations
from generic_inference_jobs as gij
join users as u
on gij.maybe_creator_user_token = u.token
where gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
and gij.maybe_creator_user_token is not null
group by user_token
order by generations desc
) as top_users
where top_users.generations > 1000
)
and gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
group by mw.token, mw.title
order by use_count desc
limit 100;
@@ -1,69 +0,0 @@
-- Select popular models without cover images or language
select
mw.token,
mw.title,
mw.maybe_ietf_language_tag,
mw.maybe_cover_image_media_file_token,
count(*) as use_count
from generic_inference_jobs as gij
left outer join model_weights as mw
on gij.maybe_model_token = mw.token
where gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
and (
mw.maybe_ietf_language_tag IS NULL
or mw.maybe_cover_image_media_file_token IS NULL
)
and mw.mod_deleted_at IS NULL
and mw.user_deleted_at IS NULL
group by
mw.token,
mw.title,
mw.maybe_ietf_language_tag,
mw.maybe_cover_image_media_file_token
order by use_count desc
limit 100;
-- Select popular models without streamer usage distorting the totals
select
mw.token,
mw.title,
mw.maybe_ietf_language_tag,
mw.maybe_cover_image_media_file_token,
count(*) as use_count
from generic_inference_jobs as gij
left outer join model_weights as mw
on gij.maybe_model_token = mw.token
where gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
and (
mw.maybe_ietf_language_tag IS NULL
or mw.maybe_cover_image_media_file_token IS NULL
)
and mw.mod_deleted_at IS NULL
and mw.user_deleted_at IS NULL
and gij.maybe_creator_user_token NOT IN (
-- This subquery returns streamers that generated over a certain threshold number of results
select
user_token
from (
select
u.token as user_token,
count(*) as generations
from generic_inference_jobs as gij
join users as u
on gij.maybe_creator_user_token = u.token
where gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
and gij.maybe_creator_user_token is not null
group by user_token
order by generations desc
) as top_users
where top_users.generations > 300
)
group by
mw.token,
mw.title,
mw.maybe_ietf_language_tag,
mw.maybe_cover_image_media_file_token
order by use_count desc
limit 50;
@@ -1,49 +0,0 @@
-- Count the most-used tts models for a given user
-- This is a useful query to distinguish "AI Streamers" from API abusers
-- This query has old TTS model token support!
SELECT
mw.token,
mw.title,
count(*) as use_count
FROM model_weights as mw
JOIN (
select
coalesce(w.token, w_migrated.token) as token
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
join users as u
on f.maybe_creator_user_token = u.token
where u.username = lower('peepostream')
) as x
on mw.token = x.token
group by mw.token, mw.title
order by use_count desc
-- See a sample of tts results by user
-- This is a useful query to distinguish "AI Streamers" from API abusers
-- This includes old TTS model token support
select
f.token,
f.origin_product_category,
f.created_at,
w.token,
w.title,
w_migrated.token,
w_migrated.title,
SUBSTRING(TRIM(f.maybe_text_transcript), 1, 100) as transcript
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
join users as u
on f.maybe_creator_user_token = u.token
where u.username = lower('peepostream')
order by f.id desc
limit 100
@@ -13,17 +13,3 @@ and status NOT IN (
order by id desc
limit 5\G
-- List started jobs
select *
from generic_inference_jobs
where job_type = 'comfy_ui'
and status IN ('started')
order by id desc
limit 50\G
update generic_inference_jobs
set inference_category = 'convert_bvh_to_workflow'
where inference_category = 'deprecated_field'
limit 5;
[2024-07-16T22:53:07Z ERROR inference_job::job::job_loop::main_loop] Error querying jobs: error: ""
@@ -16,57 +16,3 @@ and m.is_intermediate_system_file = false
and m.media_class = 'video'
group by u.token
order by video_count desc;
-- Without internal users
select
u.username,
count(*) as video_count,
u.maybe_source,
u.created_at
from media_files as m
join users as u
on m.maybe_creator_user_token = u.token
where u.maybe_feature_flags LIKE '%studio%'
and m.created_at > (CURDATE() - INTERVAL 1 DAY)
and m.is_intermediate_system_file = false
and m.media_class = 'video'
and u.username NOT IN (
'bflat', 'candyfoxxx', 'crossproduct1', 'echelon',
'endtimes', 'heart_ribbon', 'kasisnu', 'mechacosm',
'moonchamp', 'olivicmic', 'printrman', 'vegito1089',
'wilwong', 'yae_ph'
)
group by u.token
order by created_at desc;
-- See videos generated
-- and m.is_intermediate_system_file IS TRUE
-- where u.maybe_feature_flags LIKE '%studio%'
select
u.username,
u.maybe_source,
m.token,
m.is_intermediate_system_file as sys_file,
m.created_at
from media_files as m
join users as u
on m.maybe_creator_user_token = u.token
WHERE m.created_at > (CURDATE() - INTERVAL 1 DAY)
and m.media_class = 'video'
and u.username NOT IN (
'bflat',
'candyfoxxx',
'crossproduct1',
'echelon',
'endtimes',
'heart_ribbon',
'kasisnu',
'mechacosm',
'moonchamp',
'olivicmic',
'printrman',
'vegito1089',
'wilwong',
'yae_ph'
)
order by m.created_at desc;
@@ -1,26 +0,0 @@
-- Older user accounts that dropped off
select
username,
email_address
from
users
where token IN (
-- Users that used us long ago
select maybe_creator_user_token
from tts_results
where maybe_creator_user_token IS NOT NULL
and created_at < NOW() - INTERVAL 23 MONTH
and created_at > NOW() - INTERVAL 24 MONTH
group by maybe_creator_user_token
)
and token NOT IN (
-- Users that used us recently
select maybe_creator_user_token
from media_files
where maybe_creator_user_token IS NOT NULL
and created_at > NOW() - INTERVAL 3 MONTH
group by maybe_creator_user_token
)
and maybe_stripe_customer_id IS NULL
@@ -2,23 +2,6 @@
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
SELECT
m.maybe_creator_user_token as user_token,
u.username,
count(*) as usage_count,
u.created_at
FROM media_files as m
JOIN users as u
ON u.token = m.maybe_creator_user_token
WHERE m.maybe_creator_user_token IS NOT NULL
AND m.created_at > NOW() - INTERVAL 31 DAY
GROUP BY m.maybe_creator_user_token
ORDER BY usage_count DESC
LIMIT 50;
----- Older queries -----
SELECT
u.username as username,
j.token as token
@@ -28,6 +11,18 @@ ON u.token = j.maybe_creator_user_token
AND j.created_at > NOW() - INTERVAL 31 DAY
SELECT
t.maybe_creator_user_token as user_token,
u.username,
count(*) as usage_count,
u.created_at
FROM tts_results as t
JOIN users as u
ON u.token = t.maybe_creator_user_token
WHERE t.maybe_creator_user_token IS NOT NULL
GROUP BY t.maybe_creator_user_token
ORDER BY usage_count DESC
LIMIT 50000;
SELECT

Some files were not shown because too many files have changed in this diff Show More