Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

### Tables ###
TABLE: CREATE TABLE order_items ( product_id VARCHAR, order_id VARCHAR )
TABLE: CREATE TABLE customers ( customer_id VARCHAR, customer_name VARCHAR )
TABLE: CREATE TABLE customer_orders ( customer_id VARCHAR, order_id VARCHAR )

### Question ###
How many types of products have Rodrick Heaney bought in total?

### Accurate SQL ###

SELECT COUNT(DISTINCT t3.product_id) FROM customers AS t1 JOIN customer_orders AS t2 ON t1.customer_id = t2.customer_id JOIN order_items AS t3 ON t2.order_id = t3.order_id WHERE t1.customer_name = "Rodrick Heaney"