My requirement is to sort the nodes with a "condition" based on whether a field called myfield has value in it or not and then by date created. That means, show nodes first if a field has value and then by datecreated.

its something like this sql query

    select field1,
           datecreated,
           if(isnull(myfield,1),1,0) hasvalue
    
    from table
    order by hasvalue asc, datecreated desc

For doing this I learnt that I need to create a module called tdyards and implemented tdyards_views_query_alter in tdyards.views.inc with this code in it and enabled the module.

    <?php
    
    function tdyards_views_query_alter(&$view, &$query) {
        print "<h1>I am in tdyards alter query</h1>";
        var_dump($query);
        die(); 
    }

I was expecting this pileup my screen with the dump but it seems like it is never called this function. Am I missing anything else here? If my guess is correct I must call this for each and every view because my implementation doesn not have any condition