Preheat the oven to 350°F and spray a 9x13-inch baking dish with nonstick spray. Set aside.
In a large bowl, whisk together the flour, baking powder, and salt. Set aside.
In the bowl of a stand mixer with the paddle attachment (or using a hand mixer), cream butter and sugar until fluffy, about 2 to 3 minutes.
Add eggs, one at a time, mixing well after each addition. Then, on low speed, mix in the buttermilk, canola oil, and vanilla until combined, about 1 minute.
Gradually add the dry ingredients to the wet mixture. Mix on medium speed for about 30 seconds, until just combined. Do not overmix.
Gently fold the blueberries into the batter.
Pour batter into the prepared baking dish, spreading it evenly.
Bake 35 to 45 minutes, or until the top is golden and a toothpick inserted in the center comes out with a few moist crumbs, but no wet batter. If the edges brown too quickly, loosely cover with foil for the last ten minutes of baking.
Let the cake cool slightly in the pan while you make the glaze.
In a medium bowl, whisk together the confectioners' sugar and 4 tablespoons milk until smooth and pourable. Add more milk, one tablespoon at a time, until it reaches your desired consistency.
Drizzle glaze over the warm cake. Serve warm or at room temperature.