PluginProbe
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder / 6.2.14
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder v6.2.14
6.2.14 6.2.13 6.2.12 6.2.10 6.2.11 6.2.9 6.2.8 6.2.7 6.2.6 6.2.5 6.2.4 6.2.3 6.2.2 3.6.22 3.6.31 3.6.40 3.6.41 3.6.42 3.6.50 3.6.51 3.6.60 3.6.61 3.6.62 3.6.64 3.6.65 All 196 releases
← All changes | database/Migrations/Submissions.php +10 -1 6.2.46.2.14 View file →
@@ -42,9 +42,10 @@
42 42 PRIMARY KEY (`id`),
43 43 KEY `form_id_status` (`form_id`, `status`),
44 44 KEY `form_id_created_at` (`form_id`, `created_at`),
45 45 KEY `user_id` (`user_id`),
46 - KEY `serial_number` (`serial_number`)) $charsetCollate;";
46 + KEY `serial_number` (`serial_number`),
47 + KEY `created_at` (`created_at`)) $charsetCollate;";
47 48
48 49 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- Migration file, direct query needed
49 50 if ($force || $wpdb->get_var($wpdb->prepare("SHOW TABLES LIKE %s", $table)) != $table) {
50 51 require_once ABSPATH . 'wp-admin/includes/upgrade.php';
@@ -84,8 +85,16 @@
84 85 // Add composite index form_id + created_at if it doesn't exist
85 86 if (!in_array('form_id_created_at', $existingIndexes)) {
86 87 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder -- Migration file, adding composite index for performance, %1s is for identifier
87 88 $wpdb->query($wpdb->prepare("ALTER TABLE %1s ADD KEY `form_id_created_at` (`form_id`, `created_at`)", $table));
89 + }
90 +
91 + // Add a standalone created_at index for cross-form, date-only reports —
92 + // form_id_created_at leads with form_id, so it can't serve a query that
93 + // filters on created_at with no form_id (e.g. the unrestricted analytics).
94 + if (!in_array('created_at', $existingIndexes)) {
95 + // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder -- Migration file, adding index for performance, %1s is for identifier
96 + $wpdb->query($wpdb->prepare("ALTER TABLE %1s ADD KEY `created_at` (`created_at`)", $table));
88 97 }
89 98
90 99 // Add user_id index if it doesn't exist
91 100 if (!in_array('user_id', $existingIndexes)) {