TeraWurflDatabase
[ class tree: TeraWurflDatabase ] [ index: TeraWurflDatabase ] [ all elements ]

Class: TeraWurflDatabase_MySQL5

Source Location: /DatabaseConnectors/TeraWurflDatabase_MySQL5.php

Class Overview

TeraWurflDatabase
   |
   --TeraWurflDatabase_MySQL5

Provides connectivity from Tera-WURFL to MySQL 5


Author(s):

Variables

Methods


Child classes:

TeraWurflDatabase_MySQL5_NestedSet
Provides connectivity from Tera-WURFL to MySQL 5 This version adds a right and left nested-set value (`rt` and `lt`) to the TeraWurflIndex table, then uses those values and the Nested Set method to lookup the fallback tree in one very efficient query.
TeraWurflDatabase_MySQL5_Profiling
Provides connectivity from Tera-WURFL to MySQL 5

Inherited Variables

Inherited Methods

Class: TeraWurflDatabase

TeraWurflDatabase::__construct()
TeraWurflDatabase::clearTable()
Truncate or drop+create the given table
TeraWurflDatabase::connect()
Establishes a database connection and stores connection in $this->dbcon
TeraWurflDatabase::createCacheTable()
Creates the cache table
TeraWurflDatabase::createGenericDeviceTable()
Creates a table capable of holding devices (WURFL ID, User Agent and Capabilities)
TeraWurflDatabase::createIndexTable()
Creates the index table
TeraWurflDatabase::createProcedures()
Creates supporting stored procedures
TeraWurflDatabase::getActualDeviceAncestor()
Returns the WURFL ID for the Actual Device Root in the given device's fall back tree. This can be null if it does not exist.
TeraWurflDatabase::getCachedUserAgents()
Returns and array of the cached User Agents
TeraWurflDatabase::getDeviceFallBackTree()
Find the matching Device ID for a given User Agent using LD (Leveshtein Distance)
TeraWurflDatabase::getDeviceFromCache()
Return capabilities array for the given User Agent, or null if not found
TeraWurflDatabase::getDeviceFromID()
Returns the capabilities array from a given WURFL Device ID
TeraWurflDatabase::getDeviceFromUA()
Returns the WURFL ID from a raw User Agent if an exact match is found
TeraWurflDatabase::getDeviceFromUA_LD()
Find the matching Device ID for a given User Agent using LD (Leveshtein Distance)
TeraWurflDatabase::getDeviceFromUA_RIS()
Find the matching Device ID for a given User Agent using RIS (Reduction in String)
TeraWurflDatabase::getFullDeviceList()
Returns an associative array of all the data from the given table in the form [WURFL ID] => [User Agent]
TeraWurflDatabase::getLastError()
Returns the most recent error message
TeraWurflDatabase::getMatcherTableList()
Returns an array of the User Agent Matcher tables in the database
TeraWurflDatabase::getServerVersion()
Returns the version string of the database server
TeraWurflDatabase::getTableList()
Returns an array of all the tables in the database
TeraWurflDatabase::getTableStats()
Returns an associative array of statistics from given table
TeraWurflDatabase::initializeDB()
Creates and prepares the database
TeraWurflDatabase::loadDevices()
Loads the pre-processed WURFL tables into the database
TeraWurflDatabase::rebuildCacheTable()
Rebuilds the cache table by redetecting the cached devices against the loaded WURFL
TeraWurflDatabase::saveDeviceInCache()
Save the given User Agent and Device capabilities array to the database
TeraWurflDatabase::SQLPrep()
Prepares raw text for use in queries (adding quotes and escaping characters if necessary)
TeraWurflDatabase::verifyConfig()
Checks if the database configuration is correct and that all required permissions

Class Details

[line 22]
Provides connectivity from Tera-WURFL to MySQL 5



Tags:



[ Top ]


Class Variables

static $CACHE_STORAGE_ENGINE =  "MyISAM"

[line 46]



Tags:

access:  protected

Type:   mixed


[ Top ]

static $DB_MAX_INSERTS =  500

[line 41]

The maximum number of new rows that the database can handle in one INSERT statement



Tags:

access:  protected

Type:   int


[ Top ]

static $PERSISTENT_CONNECTION =  true

[line 47]



Tags:

access:  protected

Type:   mixed


[ Top ]

static $STORAGE_ENGINE =  "MyISAM"

[line 44]



Tags:

access:  protected

Type:   mixed


[ Top ]

static $WURFL_ID_COLUMN_TYPE =  "VARCHAR"

[line 42]



Tags:

access:  protected

Type:   mixed


[ Top ]

static $WURFL_ID_MAX_LENGTH =  64

[line 43]



Tags:

access:  protected

Type:   mixed


[ Top ]

$connected =  false

[line 31]



Tags:

access:  public

Type:   mixed
Overrides:   Array


[ Top ]

$dbcon =

[line 33]



Tags:

access:  protected

Type:   mixed
Overrides:   Array


[ Top ]

$db_implements_fallback =  true

[line 28]



Tags:

access:  public

Type:   mixed
Overrides:   Array


[ Top ]

$db_implements_ld =  false

[line 27]



Tags:

access:  public

Type:   mixed
Overrides:   Array


[ Top ]

$db_implements_ris =  true

[line 26]



Tags:

access:  public

Type:   mixed
Overrides:   Array


[ Top ]

$errors =

[line 25]



Tags:

access:  public

Type:   mixed
Overrides:   Array


[ Top ]

$hostPrefix =  ''

[line 34]



Tags:

access:  protected

Type:   mixed


[ Top ]

$maxquerysize =  0

[line 36]



Tags:

access:  public

Type:   mixed


[ Top ]

$numQueries =  0

[line 30]



Tags:

access:  public

Type:   mixed
Overrides:   Array


[ Top ]

$use_nested_set =  false

[line 29]



Tags:

access:  public

Type:   mixed


[ Top ]



Class Methods


constructor __construct [line 49]

TeraWurflDatabase_MySQL5 __construct( )



Tags:

access:  public


Overrides TeraWurflDatabase::__construct() (parent method not documented)

[ Top ]

method cleanConnection [line 178]

void cleanConnection( )



Tags:

access:  protected


[ Top ]

method clearMatcherTables [line 280]

boolean clearMatcherTables( )

Drops then creates all the UserAgentMatcher device tables



Tags:

return:  success
access:  protected


[ Top ]

method clearTable [line 429]

void clearTable( $tablename)



Tags:

access:  public


Overrides TeraWurflDatabase::clearTable() (Truncate or drop+create the given table)

Parameters:

   $tablename  

[ Top ]

method connect [line 475]

void connect( )

Establishes connection to database (does not check for DB sanity)



Tags:

access:  public


Overridden in child classes as:

TeraWurflDatabase_MySQL5_Profiling::connect()
Establishes connection to database (does not check for DB sanity)

Overrides TeraWurflDatabase::connect() (Establishes a database connection and stores connection in $this->dbcon)

[ Top ]

method createCacheTable [line 353]

void createCacheTable( )



Tags:

access:  public


Overrides TeraWurflDatabase::createCacheTable() (Creates the cache table)

[ Top ]

method createGenericDeviceTable [line 257]

boolean createGenericDeviceTable( string $tablename)

Drops and creates the given device table



Tags:

return:  success
access:  public


Overrides TeraWurflDatabase::createGenericDeviceTable() (Creates a table capable of holding devices (WURFL ID, User Agent and Capabilities))

Parameters:

string   $tablename   Table name (ex: TeraWurflConfig::$HYBRID)

[ Top ]

method createIndexTable [line 309]

boolean createIndexTable( string 0)

Drops and creates the given device table



Tags:

return:  success
access:  public


Overrides TeraWurflDatabase::createIndexTable() (Creates the index table)

Parameters:

string   0   Table name (ex: TeraWurflConfig::$INDEX)

[ Top ]

method createMergeTable [line 293]

boolean createMergeTable( array $tables)

Drops and creates the MERGE table



Tags:

return:  success
access:  public


Parameters:

array   $tables   Table names

[ Top ]

method createProcedures [line 436]

void createProcedures( )



Tags:

access:  public


Overrides TeraWurflDatabase::createProcedures() (Creates supporting stored procedures)

[ Top ]

method createTempCacheTable [line 367]

void createTempCacheTable( )



Tags:

access:  public


[ Top ]

method getActualDeviceAncestor [line 68]

void getActualDeviceAncestor( $wurflID)



Tags:

access:  public


Overrides TeraWurflDatabase::getActualDeviceAncestor() (Returns the WURFL ID for the Actual Device Root in the given device's fall back tree. This can be null if it does not exist.)

Parameters:

   $wurflID  

[ Top ]

method getCachedUserAgents [line 532]

void getCachedUserAgents( )



Tags:

access:  public


Overrides TeraWurflDatabase::getCachedUserAgents() (Returns and array of the cached User Agents)

[ Top ]

method getDeviceFallBackTree [line 133]

void getDeviceFallBackTree( $wurflID)



Tags:

access:  public


Overrides TeraWurflDatabase::getDeviceFallBackTree() (Find the matching Device ID for a given User Agent using LD (Leveshtein Distance))

Parameters:

   $wurflID  

[ Top ]

method getDeviceFallBackTree_NS [line 159]

array getDeviceFallBackTree_NS( $wurflID $wurflID)

Returns an Array containing the complete capabilities array for each

device in the fallback tree. These arrays would need to be flattened in order to be used for any real puropse




Tags:

return:  array of the capabilities arrays for all the devices in the fallback tree
access:  public


Parameters:

$wurflID   $wurflID  

[ Top ]

method getDeviceFromCache [line 327]

void getDeviceFromCache( $userAgent)



Tags:

access:  public


Overrides TeraWurflDatabase::getDeviceFromCache() (Return capabilities array for the given User Agent, or null if not found)

Parameters:

   $userAgent  

[ Top ]

method getDeviceFromID [line 57]

void getDeviceFromID( $wurflID)



Tags:

access:  public


Overrides TeraWurflDatabase::getDeviceFromID() (Returns the capabilities array from a given WURFL Device ID)

Parameters:

   $wurflID  

[ Top ]

method getDeviceFromUA [line 92]

void getDeviceFromUA( $userAgent)



Tags:

access:  public


Overrides TeraWurflDatabase::getDeviceFromUA() (Returns the WURFL ID from a raw User Agent if an exact match is found)

Parameters:

   $userAgent  

[ Top ]

method getDeviceFromUA_LD [line 120]

void getDeviceFromUA_LD( $userAgent, $tolerance, &$matcher)



Tags:

access:  public


Overrides TeraWurflDatabase::getDeviceFromUA_LD() (Find the matching Device ID for a given User Agent using LD (Leveshtein Distance))

Parameters:

   $userAgent  
   $tolerance  
UserAgentMatcher   &$matcher  

[ Top ]

method getDeviceFromUA_RIS [line 105]

void getDeviceFromUA_RIS( $userAgent, $tolerance, &$matcher)



Tags:

access:  public


Overridden in child classes as:

TeraWurflDatabase_MySQL5_Profiling::getDeviceFromUA_RIS()

Overrides TeraWurflDatabase::getDeviceFromUA_RIS() (Find the matching Device ID for a given User Agent using RIS (Reduction in String))

Parameters:

   $userAgent  
   $tolerance  
UserAgentMatcher   &$matcher  

[ Top ]

method getFullDeviceList [line 78]

void getFullDeviceList( $tablename)



Tags:

access:  public


Overrides TeraWurflDatabase::getFullDeviceList() (Returns an associative array of all the data from the given table in the form [WURFL ID] => [User Agent])

Parameters:

   $tablename  

[ Top ]

method getMatcherTableList [line 500]

void getMatcherTableList( )



Tags:

access:  public


Overrides TeraWurflDatabase::getMatcherTableList() (Returns an array of the User Agent Matcher tables in the database)

[ Top ]

method getServerVersion [line 555]

void getServerVersion( )



Tags:

access:  public


Overrides TeraWurflDatabase::getServerVersion() (Returns the version string of the database server)

[ Top ]

method getTableList [line 493]

void getTableList( )



Tags:

access:  public


Overrides TeraWurflDatabase::getTableList() (Returns an array of all the tables in the database)

[ Top ]

method getTableStats [line 507]

void getTableStats( $table)



Tags:

access:  public


Overrides TeraWurflDatabase::getTableStats() (Returns an associative array of statistics from given table)

Parameters:

   $table  

[ Top ]

method loadDevices [line 184]

void loadDevices( &$tables)



Tags:

access:  public


Overrides TeraWurflDatabase::loadDevices() (Loads the pre-processed WURFL tables into the database)

Parameters:

   &$tables  

[ Top ]

method rebuildCacheTable [line 381]

void rebuildCacheTable( )



Tags:

access:  public


Overrides TeraWurflDatabase::rebuildCacheTable() (Rebuilds the cache table by redetecting the cached devices against the loaded WURFL)

[ Top ]

method saveDeviceInCache [line 341]

void saveDeviceInCache( $userAgent, $device)



Tags:

access:  public


Overrides TeraWurflDatabase::saveDeviceInCache() (Save the given User Agent and Device capabilities array to the database)

Parameters:

   $userAgent  
   $device  

[ Top ]

method SQLPrep [line 488]

void SQLPrep( $value)



Tags:

access:  public


Overrides TeraWurflDatabase::SQLPrep() (Prepares raw text for use in queries (adding quotes and escaping characters if necessary))

Parameters:

   $value  

[ Top ]

method verifyConfig [line 539]

void verifyConfig( )



Tags:

access:  public


Overrides TeraWurflDatabase::verifyConfig() (Checks if the database configuration is correct and that all required permissions)

[ Top ]


Documentation generated on Thu, 20 May 2010 20:20:29 +0000 by phpDocumentor 1.4.3