Flupdo  v1.3
Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
RawQueryBuilder Class Reference

Description

Flupdo Builder for any other statement.

This allows to use of subselects with custom constructions around them.

Examples:

$flupdo->rawQuery(array($q1, 'UNION', $q2));

$flupdo->rawQuery($q1)
    ->rawQuery('UNION')
    ->rawQuery($q2);

$flupdo->rawQuery(array('CREATE TEMPORARY TABLE t AS (', $q, ')'));

Where $q, $q1, $q2 are results of $flupdo->select() or something like that.

Inheritance diagram for RawQueryBuilder:

Public Member Functions

 headerComment ($sql_statement,...)
 Replaces content of buffer -- HEADER with $sql_statement. More...
 
 rawQuery ($sql_statement,...)
 Appends $sql_statement to buffer RAW_QUERY. More...
 
 footerComment ($sql_statement,...)
 Replaces content of buffer -- FOOTER with $sql_statement. More...
 
- Public Member Functions inherited from FlupdoBuilder
 __construct ($pdo, $log_query=false, $log_explain=false, $no_parenthesis_in_conditions=false)
 Constructor. More...
 
 __call ($method, $args)
 Call buffer-specific method to process arguments. More...
 
 quoteIdent ($ident)
 Quote identifier, preserve dot. More...
 
 compile ()
 Call compile function in a safe way. More...
 
 uncompile ()
 "Uncompile" the query. More...
 
 debugDump ()
 Fluently dump query to error log. More...
 
 getSqlQuery ()
 Get compiled SQL query, use only for debugging. More...
 
 getSqlParams ()
 Get parameters for compiled SQL query, use only for debugging. More...
 
 quote ($value)
 Quotes a string for use in a query. More...
 
 rawSql ($sql)
 Returns object marking raw SQL statement. More...
 
 exec ()
 Builds and executes an SQL statement, returning the number of affected rows. More...
 
 query ()
 Builds, binds and executes an SQL statement, returning a result set as a PDOStatement object. More...
 
 prepare ($driver_options=array())
 Builds and prepares a statement for execution, returns a statement object. More...
 
 lastInsertId ()
 Proxy to PDO::lastInsertId(). More...
 
 fetchSingleRow ()
 Fetch one row from result and close cursor. More...
 
 fetchSingleValue ()
 Fetch one row from result and close cursor. More...
 
 fetchAll ($key_column=null)
 Fetch everything into array. More...
 
 __toString ()
 Get SQL query as a string. More...
 

Protected Member Functions

 compileQuery ()
 Process all buffers and build SQL query. More...
 
- Protected Member Functions inherited from FlupdoBuilder
 add ($args, $buffer_id)
 Add SQL fragment to buffer. More...
 
 replace ($args, $buffer_id)
 Replace buffer content with SQL fragment. More...
 
 setFlag ($args, $buffer_id, $label)
 Set flag. More...
 
 addJoin ($args, $buffer_id, $label)
 Add join statement to buffer. More...
 
 compileQuery ()
 Process all buffers and build SQL query. More...
 
 explain ()
 Explain the query and dump result to log. More...
 
 sqlStart ()
 Start SQL generating. More...
 
 sqlFinish ()
 Finish SQL generating. More...
 
 sqlBuffer ($buf)
 Add SQL with parameters. More...
 
 sqlRawBuffer ($buf)
 Generate raw SQL fragment. More...
 
 sqlComment ($buffer_id)
 Generate SQL comment. More...
 
 sqlFlag ($buffer_id)
 Generate flag fragment. More...
 
 sqlStatementFlags ($buffer_id, $flag_buffer_ids, $decorations)
 Generate SQL fragment made of flags. More...
 
 sqlList ($buffer_id, $decorations)
 Generate SQL fragment made of list. More...
 
 sqlValuesList ($buffer_id)
 Generate SQL fragment made of list values. More...
 
 sqlJoins ($buffer_id)
 Generate SQL fragment made of joins. More...
 
 sqlConditions ($buffer_id)
 Generate SQL fragment made of conditions in AND statement. More...
 

Static Protected Attributes

static $methods
 List of methods used to fill the $buffers. More...
 
- Static Protected Attributes inherited from FlupdoBuilder
static $clauses = array()
 List of clauses used to composed result query. More...
 
static $methods = array()
 List of methods used to fill the $buffers. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from FlupdoBuilder
static generateDoxygenDocumentation ()
 Generate documentation for methods defined in $methods array. More...
 
- Public Attributes inherited from FlupdoBuilder
 $pdo
 PDO driver used to execute query and escape strings. More...
 
const INDENT = 0x01
 List items should be indented. More...
 
const LABEL = 0x02
 SQL fragment has a label. More...
 
const BRACKETS = 0x04
 There are brackets around each item in the list. More...
 
const NO_SEPARATOR = 0x08
 No separator between list items. More...
 
const SUB_INDENT = 0x20
 Indent more the first line. More...
 
const COMMA = 0x40
 Add comma after the SQL fragment. More...
 
const EOL = 0x80
 Add EOL after the SQL fragment. More...
 
const ALL_DECORATIONS = 0xFF
 Make it fancy! More...
 
- Protected Attributes inherited from FlupdoBuilder
 $log_query
 Log all queries as they are executed. More...
 
 $log_explain
 Explain each query to log. More...
 
 $no_parenthesis_in_conditions
 Sphinx does not like parenthesis in WHERE. More...
 
 $can_explain = false
 Is it possible to explain this query? More...
 
 $indent = "\t"
 Indentation string. More...
 
 $sub_indent = "\t::t"
 Second level indentation string. More...
 
 $query_sql = null
 Built query. More...
 
 $query_params = null
 Parameters for prepared statement (to be bound before query is executed). More...
 
 $buffers = array()
 Buffers containing SQL fragments. More...
 

Member Function Documentation

compileQuery ( )
protected

Process all buffers and build SQL query.

Side product is array of parameters (stored in $this->args) to bind with query.

This function is called by FlupdoBuilder, do not call it directly.

Example:

$this->sqlStart();
// ...
return $this->sqlFinish();
headerComment (   $sql_statement,
  ... 
)

Replaces content of buffer -- HEADER with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.
rawQuery (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer RAW_QUERY.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.
footerComment (   $sql_statement,
  ... 
)

Replaces content of buffer -- FOOTER with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

Member Data Documentation

$methods
staticprotected
Initial value:
= array(
'headerComment' => array('replace', '-- HEADER'),
'rawQuery' => array('add', 'RAW_QUERY'),
'footerComment' => array('replace', '-- FOOTER'),
)

List of methods used to fill the $buffers.

Shared constant data.