Constants

MYSQL

MYSQL = 'MYSQL'

Constants for database types

PGSQL

PGSQL = 'PGSQL'

SQLITE

SQLITE = 'SQLITE'

SQLSRV

SQLSRV = 'SQLSRV'

BACKTICK

BACKTICK = 'BACKTICK'

Constants for id quote types

BRACKET

BRACKET = 'BRACKET'

DOUBLE_QUOTE

DOUBLE_QUOTE = 'DOUBLE_QUOTE'

NO_QUOTE

NO_QUOTE = 'NO_QUOTE'

Properties

$dbType

$dbType : integer

Database type

Type

integer

$placeholder

$placeholder : string

SQL placeholder

Type

string

$idQuoteType

$idQuoteType : string

ID quote type

Type

string

$openQuote

$openQuote : string

ID open quote

Type

string

$closeQuote

$closeQuote : string

ID close quote

Type

string

$parameterCount

$parameterCount : integer

Parameter count

Type

integer

$table

$table : string

Database table

Type

string

$divide

$divide : integer

Divide INSERT groups by # (0 creates one big INSERT statement, 1 creates an INSERT statement per row)

Type

integer

$conflictKey

$conflictKey : string

Conflict key for UPSERT

Type

string

$conflictColumns

$conflictColumns : array

Conflict columns for UPSERT

Type

array

$sql

$sql : string

SQL string

Type

string

Methods

__construct()

__construct(\Pop\Db\Adapter\AbstractAdapter  $db, string  $table = 'pop_db_data', integer  $divide = 1) 

Constructor

Instantiate the SQL object

Parameters

\Pop\Db\Adapter\AbstractAdapter $db
string $table
integer $divide

isMysql()

isMysql() : boolean

Determine if the DB type is MySQL

Returns

boolean

isPgsql()

isPgsql() : boolean

Determine if the DB type is PostgreSQL

Returns

boolean

isSqlsrv()

isSqlsrv() : boolean

Determine if the DB type is SQL Server

Returns

boolean

isSqlite()

isSqlite() : boolean

Determine if the DB type is SQLite

Returns

boolean

setIdQuoteType()

setIdQuoteType(string  $type = self::NO_QUOTE) : \Pop\Db\Sql\AbstractSql

Set the quote ID type

Parameters

string $type

Returns

\Pop\Db\Sql\AbstractSql

setPlaceholder()

setPlaceholder(string  $placeholder) : \Pop\Db\Sql\AbstractSql

Set the placeholder

Parameters

string $placeholder

Returns

\Pop\Db\Sql\AbstractSql

getDbType()

getDbType() : integer

Get the current database type

Returns

integer

getPlaceholder()

getPlaceholder() : string

Get the SQL placeholder

Returns

string

getIdQuoteType()

getIdQuoteType() : integer

Get the quote ID type

Returns

integer

getOpenQuote()

getOpenQuote() : string

Get open quote

Returns

string

getCloseQuote()

getCloseQuote() : string

Get close quote

Returns

string

getParameterCount()

getParameterCount() : integer

Get parameter count

Returns

integer

incrementParameterCount()

incrementParameterCount() : static

Increment parameter count

Returns

static

decrementParameterCount()

decrementParameterCount() : static

Decrement parameter count

Returns

static

isParameter()

isParameter(mixed  $value, string  $column = null) : boolean

Check if value is parameter placeholder

Parameters

mixed $value
string $column

Returns

boolean

getParameter()

getParameter(mixed  $value, string  $column = null) : string

Get parameter placeholder value

Parameters

mixed $value
string $column

Returns

string

quoteId()

quoteId(string  $identifier) : string

Quote the identifier

Parameters

string $identifier

Returns

string

quote()

quote(string  $value) : string

Quote the value (if it is not a numeric value)

Parameters

string $value

Returns

string

setDivide()

setDivide(integer  $divide) : \Pop\Db\Sql\Data

Set the INSERT divide

Parameters

integer $divide

Returns

\Pop\Db\Sql\Data

getDivide()

getDivide() : integer

Get the INSERT divide

Returns

integer

setTable()

setTable(string  $table) : \Pop\Db\Sql\Data

Set the database table

Parameters

string $table

Returns

\Pop\Db\Sql\Data

getTable()

getTable() : string

Get the database table

Returns

string

getSql()

getSql() : string

Get SQL string

Returns

string

onConflict()

onConflict(array  $columns, string  $key = null) : \Pop\Db\Sql\Data

Set what to do on a insert conflict (UPSERT - PostgreSQL & SQLite)

Parameters

array $columns
string $key

Returns

\Pop\Db\Sql\Data

onDuplicateKeyUpdate()

onDuplicateKeyUpdate(array  $columns) : \Pop\Db\Sql\Data

Set columns to handle duplicates/conflicts (UPSERT - MySQL-ism)

Parameters

array $columns

Returns

\Pop\Db\Sql\Data

isSerialized()

isSerialized() : boolean

Check if data was serialized into SQL

Returns

boolean

serialize()

serialize(array  $data, mixed  $omit = null, boolean  $nullEmpty = false) : string

Serialize the data into INSERT statements

Parameters

array $data
mixed $omit
boolean $nullEmpty

Returns

string

writeToFile()

writeToFile(string  $to, string  $header = null, string  $footer = null) : void

Output SQL to a file

Parameters

string $to
string $header
string $footer

streamToFile()

streamToFile(array  $data, string  $to, mixed  $omit = null, boolean  $nullEmpty = false, string  $header = null, string  $footer = null) : void

Serialize the data into INSERT statements

Parameters

array $data
string $to
mixed $omit
boolean $nullEmpty
string $header
string $footer

__toString()

__toString() : string

__toString magic method

Returns

string

init()

init(string  $adapter) : void

Initialize SQL object

Parameters

string $adapter

initQuoteType()

initQuoteType() : void

Initialize quite type

formatConflicts()

formatConflicts() : string

Method to format conflicts (UPSERT)

Returns

string