} // END - if
// Prepare the SQL statement
- $sql = "SELECT `".implode("`,`", $columns)."` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`='%s' LIMIT 1";
+ $sql = "SELECT `".implode("`, `", $columns)."` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`='%s' LIMIT 1";
// Return the result
return SQL_QUERY_ESC($sql,
$keyName = ',';
while (strpos($keyName, ',') !== false) {
// Use last
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'keyName=' . $keyName . 'begin=' . $begin . ' - BEFORE');
$keyName = str_replace('`', '', $tableArray[count($tableArray) - $begin]);
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $keyName . '----------------' . $begin);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'keyName=' . $keyName . 'begin=' . $begin . ' - BETWEEN');
// Remove brackes
$keyName = str_replace('(', '', str_replace(')', '', $keyName));
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $keyName . '----------------' . $begin);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'keyName=' . $keyName . 'begin=' . $begin . ' - AFTER');
// Continue
$begin++;
// Shall we run it?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ', tableArray[3]=' . $tableArray[3] . ',keyName=' . $keyName);
- if ((!isSqlTableIndexAdded($tableName, $tableArray[3], $keyName)) && ($tableArray[3] == 'ADD')) {
+ if (($tableArray[3] == 'ADD') && (!isSqlTableIndexFound($tableName, $keyName))) {
// Send it to the SQL_QUERY() function to add it
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $sql);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sql=' . $sql . ' - ADDING!');
$result = SQL_QUERY($sql, $F, $L, $enableCodes);
- } elseif ((isSqlTableIndexAdded($tableName, $tableArray[3], $keyName)) && ($tableArray[3] == 'DROP')) {
+ } elseif (($tableArray[3] == 'DROP') && (isSqlTableIndexFound($tableName, $keyName))) {
// Send it to the SQL_QUERY() function to drop it
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $sql);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sql=' . $sql . ' - DROPPING!');
$result = SQL_QUERY($sql, $F, $L, $enableCodes);
} else {
// Not executed
// Check if there is a SQL table created
function isSqlTableCreated ($tableName) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ' - ENTERED!');
// Do we have cache?
if (!isset($GLOBALS[__FUNCTION__][$tableName])) {
// Check if the table is there
} // END - if
// Return cache
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',result=' . intval($GLOBALS[__FUNCTION__][$tableName]) . ' - EXIT!');
return $GLOBALS[__FUNCTION__][$tableName];
}
// Is a table column there?
function isSqlTableColumnFound ($tableName, $columnName) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $columName . ' - ENTERED!');
// Do we have cache?
if (!isset($GLOBALS[__FUNCTION__][$tableName][$columnName])) {
// And column name as well
} // END - if
// Return cache
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $columName . ',result=' . intval($GLOBALS[__FUNCTION__][$tableName][$columnName]) . ' - EXIT!');
return $GLOBALS[__FUNCTION__][$tableName][$columnName];
}
-// Checks depending on the mode if the table is there
-function isSqlTableIndexAdded ($tableName, $mode, $keyName) {
+// Checks depending on the mode if the index is there
+function isSqlTableIndexFound ($tableName, $keyName) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $keyName . ' - ENTERED!');
// Do we have cache?
- if (!isset($GLOBALS[__FUNCTION__][$tableName][$mode])) {
+ if (!isset($GLOBALS[__FUNCTION__][$tableName][$keyName])) {
// Show indexes
$result = SQL_QUERY_ESC("SHOW INDEX FROM `%s`", array($tableName), __FUNCTION__, __LINE__);
- // Non-skipping is default for ADD
- $GLOBALS[__FUNCTION__][$tableName][$mode] = false;
-
- // But should we DROP?
- if ($mode == 'DROP') {
- // Then skip if nothing found
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Going to drop key ' . $keyName);
- $GLOBALS[__FUNCTION__][$tableName][$mode] = true;
- } // END - if
+ // The column is not found by default
+ $GLOBALS[__FUNCTION__][$tableName][$keyName] = false;
// Walk through all
while ($content = SQL_FETCHARRAY($result)) {
- // Is it found?
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'columnName='.$keyName.',content=<pre>' . print_r($content, true) . '</pre>');
- if (($content['Key_name'] == $keyName) && ($mode == 'ADD')) {
- // Skip this query!
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ADD: Skiped: tableName=' . $tableName . ',mode=' . $mode . ',keyName=' . $keyName);
- $GLOBALS[__FUNCTION__][$tableName][$mode] = true;
- break;
- } elseif (($content['Key_name'] == $keyName) && ($mode == 'DROP')) {
- // Don't skip this!
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'DROP: Not skiped: tableName=' . $tableName . ',mode=' . $mode . ',keyName=' . $keyName);
- $GLOBALS[__FUNCTION__][$tableName][$mode] = false;
- break;
- }
+ // Add all entries for better caching behavior
+ $GLOBALS[__FUNCTION__][$tableName][$content['Key_name']] = true;
} // END - while
// Free result
SQL_FREERESULT($result);
+ } else {
+ // Cache used
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $keyName . ',result=' . intval($GLOBALS[__FUNCTION__][$tableName][$keyName]) . ' - CACHE!');
} // END - if
// Return cache
- return $GLOBALS[__FUNCTION__][$tableName][$mode];
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $keyName . ',result=' . intval($GLOBALS[__FUNCTION__][$tableName][$keyName]) . ' - EXIT!');
+ return $GLOBALS[__FUNCTION__][$tableName][$keyName];
}
// [EOF]