add getDialect() with productName.
change productName param to case-insensitive.
add constructor with database type
add insert()