×

Fast path evaluation of Boolean predicates

  • US 9,563,663 B2
  • Filed: 02/11/2013
  • Issued: 02/07/2017
  • Est. Priority Date: 09/28/2012
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • a memory storing a plurality of instructions; and

    one or more processors configured to access the memory, wherein the one or more processors are further configured to execute the plurality of instructions to at least;

    receive event data from an event stream;

    identify a continuous query language query for querying the event data of the event stream;

    generate a first logical plan comprising one or more logical operators of the continuous language query;

    determine, based at least in part on the one or more logical operators of the continuous query language query in the first logical plan, a first instruction for enabling evaluation of a subset of the one or more logical operators of the continuous query language query;

    generate, based at least in part on the first instruction in the first logical plan, a second logical plan for implementing the continuous query language query, the second logical plan comprising at least one conditional instruction for skipping evaluation of at least one or more expressions associated with the one or more logical operators after a first expression comprising the one or more expressions has been evaluated;

    compile at least the second logical plan into machine-readable instructions for implementing the subset of the logical operators of the continuous query language query in the first logical plan; and

    execute the machine-readable instructions, the machine-readable instructions comprising the conditional instruction for skipping evaluation, at a runtime, of the one or more expressions associated with the subset of the logical operators of the continuous query language query, the conditional instruction identifying, at the runtime, a function comprising a list of input arguments, and the list of input arguments comprising at least one of an input operand indicating a result of execution of a previous instruction in the second logical plan, a storage parameter indicating a storage location to jump to if an expression represented by the input operand satisfies a condition, or a result parameter indicating a result location of execution of the conditional instruction.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×