diff --git a/project/ui/qprof_main.ipynb b/project/ui/qprof_main.ipynb
index 8098a9de..45001a7a 100644
--- a/project/ui/qprof_main.ipynb
+++ b/project/ui/qprof_main.ipynb
@@ -181,7 +181,7 @@
" }\n",
"\n",
"
"
]
},
@@ -222,15 +222,11 @@
"def update_key_dropdown_options(change):\n",
" # Get the selected schema from the first dropdown\n",
" selected_schema = change.new\n",
- " \n",
- " # Query for the table names based on the selected schema\n",
- " query = f\"SELECT DISTINCT table_name FROM tables WHERE table_name LIKE '%_dc_explain_plans_%' AND table_schema = '{selected_schema}' ORDER BY 1;\"\n",
- " vdf = vp.vDataFrame(query)\n",
- " \n",
" # Manipulate table names\n",
" length_to_remove = len(\"qprof_dc_explain_plans_\") + 1\n",
- " vdf['table_name'] = vdf['table_name'].apply(f\"SUBSTR(table_name, {length_to_remove})\")\n",
- " \n",
+ " # Query for the table names based on the selected schema\n",
+ " query = f\"SELECT SUBSTR(table_name, {length_to_remove}) AS 'table_name' FROM (SELECT DISTINCT table_name FROM tables WHERE table_name LIKE '%_dc_explain_plans_%' AND table_schema = '{selected_schema}') as foo order by 1;\"\n",
+ " vdf = vp.vDataFrame(query)\n",
" # Update options of the second dropdown\n",
" key_dropdown.options = [i[0] for i in vdf.to_list()]\n",
"\n",
@@ -425,7 +421,7 @@
"tab.titles = [\"From database\", \"From a file\"]\n",
"logging.info('[Query Profile Main Page] Trying to display the load tab')\n",
"logging.info('[Query Profile Main Page] Successfully loaded')\n",
- "left_heading = widgets.HTML(\"\"\"Load from existing
\"\"\")\n",
+ "left_heading = widgets.HTML(\"\"\"Load an existing QueryProfiler
\"\"\")\n",
"left_section = widgets.VBox([left_heading,tab], layout= {\"margin\" :\"0px 0px 0px 50px\"})"
]
},
@@ -437,11 +433,12 @@
"outputs": [],
"source": [
"search_box_test = widgets.HTML(\"\"\"\n",
- "You can query the ``query_requests`` table to search for the required query. You can use either:\n",
+ "You can query the 'QUERY_REQUESTS' table to search for the required query to get the transaction ID and statement ID needed to profile the query. You can use either:\n",
"\n",
"- Reqeuest label
\n",
"- Query part
\n",
"
\n",
+ "For more information, please refer to the query_requests documentation.\n",
"\"\"\")"
]
},
@@ -458,8 +455,12 @@
"query_search_check = widgets.Checkbox(value=False,description='Exact')\n",
"button_01 = widgets.Button(description=\"Query Request Table\", layout=widgets.Layout(width='auto'))\n",
"output_01 = widgets.Output()\n",
- "request_label_widget = widgets.HBox([request_label_input, request_label_check])\n",
- "query_search_widget = widgets.HBox([query_search_input, query_search_check])\n",
+ "request_label_widget = widgets.HBox([request_label_input, \n",
+ " create_tooltip(\"Labels are inserted inside the query in order to track them. If you have labeled your queries, you can conveniently serach them from their labels.\"), \n",
+ " request_label_check])\n",
+ "query_search_widget = widgets.HBox([query_search_input, \n",
+ " create_tooltip(\"Enter the exact Query to search or part of it.\"),\n",
+ " query_search_check])\n",
"search_box_vbox = widgets.VBox([search_box_test, request_label_widget, query_search_widget, button_01, output_01])\n",
"search_box = widgets.Accordion(children=[search_box_vbox], titles=('Search for a query',))\n",
"\n",
@@ -676,7 +677,7 @@
"metadata": {},
"outputs": [],
"source": [
- "right_heading = widgets.HTML(\"\"\"Profile from query
\"\"\")\n",
+ "right_heading = widgets.HTML(\"\"\"Create a new QueryProfiler
\"\"\")\n",
"right_section = widgets.VBox([right_heading,search_box, tab_2],layout= {\"margin\" :\"0px 0px 0px 50px\"})\n",
"left_section"
]
@@ -780,7 +781,7 @@
"\n",
"\n",
" \n",
- " Page version update date: 6/24/2024\n",
+ " Page version update date: 7/5/2024\n",
"
\n",
"\n",
"