I don't think this check should be in here. Consider someone adding their own query type that performs a select, but the name of it is not called 'select'. This would force the select query type to be the sole owner of this query helper. Other than that, it looks gooda :)