title: Graphql execute where condition only if the argument is passed
body: <p>I am using graphql in node js for my oracle database wherein I connect to the remote database and fetch some details. I am fairly new to these technologies so please pardon me. I have a <code>customer</code> table with below schema:</p>
  
  <pre><code>const Customer = new GraphQLObjectType({
    description: 'Customer data schema',
    name: 'Customer',
    fields: () =&gt; ({
      name: {
        type: GraphQLString,
        sqlColumn: 'NAME',
      },
      city: {
        type: GraphQLString,
        sqlColumn: 'CITY'
      },
      country: {
        type: GraphQLString,
        sqlColumn: 'COUNTRY'
      },
      gender: {
        type: GraphQLString,
        sqlColumn: 'GENDER'
      },
      emp_id: {
        type: GraphQLString,
        sqlColumn: 'EMP_ID'
      }
    })
  });
  
  Customer._typeConfig = {
    sqlTable: 'CUSTOMER',
    uniqueKey: ['NAME','EMP_ID']
  }
  </code></pre>
  
  <p>Using join monster I create my Query root as:</p>
  
  <pre><code>const QueryRoot = new GraphQLObjectType({
    description: 'global query object',
    name: 'RootQuery',
    fields: () =&gt; ({
      customer: {
        type: new GraphQLList(Customer),
        args: {
          emp_id: {
            description: 'Emp Id',
            type: GraphQLString
          },
          name: {
            description: 'Customer Name',
            type: GraphQLString
          }
        },
        where: (customer, args, context) =&gt; {
          return `${customer}."EMP_ID" = :emp_id AND ${customer}."NAME" = :name`;
        },
        resolve: (parent, args, context, resolveInfo) =&gt; {
          return joinMonster(resolveInfo, context, sql =&gt; {
            console.log('joinMaster', sql);
            return database.simpleExecute(sql, args,{
              outFormat: database.OBJECT
          });
          });
        }
      }
    })
  })
  </code></pre>
  
  <p>When I pass my query in graphql in browser with emp_id and name parameters I get data. But there are cases when I cannot pass any parameters and would want all the rows to be fetched.</p>
  
  <p>When I do not send the parameters I get error as:
  <code>ORA-01008 : Not all variables bound</code></p>
  
  <p>I want the arguments to be optional, and if I don't send them then it should return all rows.</p>
  
  <p>Thank you.</p>