{"id":6435,"date":"2013-07-22T14:36:08","date_gmt":"2013-07-22T12:36:08","guid":{"rendered":"http:\/\/code.openark.org\/blog\/?p=6435"},"modified":"2013-07-22T14:36:08","modified_gmt":"2013-07-22T12:36:08","slug":"common_schema-roadmap-thoughts","status":"publish","type":"post","link":"https:\/\/code.openark.org\/blog\/mysql\/common_schema-roadmap-thoughts","title":{"rendered":"common_schema roadmap thoughts"},"content":{"rendered":"<p>I&#8217;m happy with <strong><a href=\"https:\/\/code.google.com\/p\/common-schema\/\">common_schema<\/a><\/strong>; it is in fact a tool I use myself on an almost daily basis. I&#8217;m also happy to see that it gains traction; which is why I&#8217;m exposing a little bit of my thoughts on general future development. I&#8217;d love to get feedback.<\/p>\n<h4>Supported versions<\/h4>\n<p>At this moment, <em>common_schema<\/em> supports MySQL &gt;= <strong>5.1<\/strong>, all variants. This includes <strong>5.5<\/strong>, <strong>5.6<\/strong>, MySQL, Percona Server &amp; MariaDB.<\/p>\n<p><strong>5.1<\/strong> is today past end of line, and I&#8217;m really missing the <strong>SIGNAL<\/strong>\/<strong>RESIGNAL<\/strong> syntax that I would like to use; I can do in the meanwhile with version-specific code such as\u00a0<strong>\/*!50500 &#8230; *\/<\/strong>. Nevertheless, I&#8217;m wondering whether I will eventually have to:<\/p>\n<ul>\n<li>Support different branches of <em>common_schema<\/em> (one that supports <strong>5.1<\/strong>, one that supports &gt;= <strong>5.5<\/strong>)<\/li>\n<li>Stop support for <strong>5.1<\/strong><\/li>\n<\/ul>\n<p>Of course community-wise, the former is preferred; but I have limited resources, so I would like to make a quick poll here:<\/p>\n<p>[poll id=&#8221;3&#8243;]<\/p>\n<p>I&#8217;ll use the poll&#8217;s results as a <em>vague idea of what people use and want<\/em>. Or please use comments below to sound your voice!<\/p>\n<h4>rdebug<\/h4>\n<p>This was a crazy jump at providing a <a href=\"http:\/\/common-schema.googlecode.com\/svn\/trunk\/common_schema\/doc\/html\/rdebug.html\">stored routine debugger and debugging API<\/a>. From some talk I made I don&#8217;t see this getting traction. For the time being, I don&#8217;t see that I will concentrate my efforts on this. Actually it is almost complete. You can step-into, step-out, step-over, set breakpoints, read variables, modify variables &#8212; it&#8217;s pretty cool.<!--more--><\/p>\n<p>But someone will eventually have to write a GUI front-end for this (eclipse\/IntelliJ\/whatever); I know not many will use a command line approach for a debugger. I also know I&#8217;m not going to write the GUI front-end. So the API is there, let&#8217;s see how it rolls.<\/p>\n<h4>QueryScript<\/h4>\n<p>I will keep on improving <a href=\"http:\/\/common-schema.googlecode.com\/svn\/trunk\/common_schema\/doc\/html\/query_script.html\"><strong>QueryScript<\/strong><\/a>, and in particular split, error handling, and otherwise simplification of common tasks. I have no doubt QueryScript goes the right way: I just see how easy it is to solve complex problems with a QueryScript one-liner. Other bullets on my TODO for QueryScript:<\/p>\n<ul>\n<li>Script tracking (a semi-debugging mechanism, which allows one to recognize status of script)<\/li>\n<li>Message passing to scripts (again, a semi-debugger approach)<\/li>\n<li>Error recovery; ability to resume script from point of failure or point of suspension. I have plenty use cases for that.<\/li>\n<\/ul>\n<h4>performance_schema<\/h4>\n<p>I will most probably include parts of Mark Leith&#8217;s <a href=\"http:\/\/www.markleith.co.uk\/ps_helper\/\"><strong>ps_helper<\/strong><\/a>, which is released under <a href=\"http:\/\/www.wtfpl.net\/\">a permissive license<\/a>, and otherwise draw ideas from his work. I&#8217;m happy to learn parts of <em>ps_helper<\/em> were influenced by <em>common_schema<\/em> itself.<\/p>\n<h4>Hosting<\/h4>\n<p><em>common_schema<\/em> will most probably move out of Google Code; by Jan 2014 there will no longer be a &#8220;Downloads&#8221; section, and I really, <em>really<\/em>, want there to be a <em>&#8220;Downloads&#8221;<\/em> section.<\/p>\n<p>I could go LaunchPad, GitHub, BitBucket (they don&#8217;t have\u00a0<em>&#8220;Downloads&#8221;<\/em> sections, either, do they?), other; any advice?<\/p>\n<h4>World domination<\/h4>\n<p>Yep. This is still <em>common_schema<\/em>&#8216;s goal. More seriously, I would want to see it installed on every single MySQL server instance. Then I would control your fate. bwahahaha!<\/p>\n<p>Even more seriously, if you are a happy user, please do pass the word. I can only blog so much and present so much; there are no financing resources for this project, and I need all the help I can get in promoting <em>common_schema<\/em>. Thank you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m happy with common_schema; it is in fact a tool I use myself on an almost daily basis. I&#8217;m also happy to see that it gains traction; which is why I&#8217;m exposing a little bit of my thoughts on general future development. I&#8217;d love to get feedback. Supported versions At this moment, common_schema supports MySQL [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[5],"tags":[67,69,120,57,76],"class_list":["post-6435","post","type-post","status-publish","format-standard","hentry","category-mysql","tag-common_schema","tag-community","tag-development","tag-open-source","tag-queryscript"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2bZZp-1FN","_links":{"self":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/6435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/comments?post=6435"}],"version-history":[{"count":14,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/6435\/revisions"}],"predecessor-version":[{"id":6449,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/6435\/revisions\/6449"}],"wp:attachment":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/media?parent=6435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/categories?post=6435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/tags?post=6435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}