1
0
Fork 0
- optionally set pointer behind matches
- added detection for incomplete statements

SQl-Browser / SQL-Box:
-  output error message if query is incomplete
Dieser Commit ist enthalten in:
DSB 2011-06-20 09:13:45 +00:00
Ursprung 6efd866311
Commit 2a46539fe5
10 geänderte Dateien mit 108 neuen und 15 gelöschten Zeilen

Datei anzeigen

@ -30,7 +30,7 @@ class Msd_Sql_Parser_Statement_Alter implements Msd_Sql_Parser_Interface
$sql->setState('Alter');
$endOfStatement = $sql->getPosition(';');
$statement = $sql->getData($endOfStatement);
$sql->setPointer($endOfStatement+1);
$sql->setPointer($endOfStatement);
return $statement;
}
}

Datei anzeigen

@ -25,8 +25,31 @@ class Msd_Sql_Parser_Statement_Comment implements Msd_Sql_Parser_Interface
*
* @return void
*/
public function parse(Msd_Sql_Object$statement)
public function parse(Msd_Sql_Object $sql)
{
return $statement;
$sql->setState('Comment');
$firstChars = $sql->getData(3);
$returnStatement = false;
if (substr($firstChars, 0, 2) == '--' || substr($firstChars, 0, 1) == '#') {
// one line comment -> match new line
$match = "\n";
} else {
if ($firstChars == '/*!') {
// conditionial statement
$match = '*/;';
$returnStatement = true;
} else {
// multi line comment
$match = '*/';
}
}
$endOfStatement = $sql->getPosition($match);
$statement = $sql->getData($endOfStatement);
$sql->setPointer($endOfStatement);
if ($returnStatement === true) {
return $statement;
} else {
return false;
}
}
}

Datei anzeigen

@ -30,7 +30,7 @@ class Msd_Sql_Parser_Statement_Create implements Msd_Sql_Parser_Interface
$sql->setState('Create');
$endOfStatement = $sql->getPosition(';');
$statement = $sql->getData($endOfStatement);
$sql->setPointer($endOfStatement+1);
$sql->setPointer($endOfStatement);
return $statement;
}
}

Datei anzeigen

@ -30,7 +30,7 @@ class Msd_Sql_Parser_Statement_Drop implements Msd_Sql_Parser_Interface
$sql->setState('Drop');
$endOfStatement = $sql->getPosition(';');
$statement = $sql->getData($endOfStatement);
$sql->setPointer($endOfStatement+1);
$sql->setPointer($endOfStatement);
return $statement;
}
}

Datei anzeigen

@ -30,7 +30,7 @@ class Msd_Sql_Parser_Statement_Insert implements Msd_Sql_Parser_Interface
$sql->setState('Insert');
$endOfStatement = $sql->getPosition(';');
$statement = $sql->getData($endOfStatement);
$sql->setPointer($endOfStatement+1);
$sql->setPointer($endOfStatement);
return $statement;
}
}

Datei anzeigen

@ -30,7 +30,7 @@ class Msd_Sql_Parser_Statement_Lock implements Msd_Sql_Parser_Interface
$sql->setState('Lock');
$endOfStatement = $sql->getPosition(';');
$statement = $sql->getData($endOfStatement);
$sql->setPointer($endOfStatement+1);
$sql->setPointer($endOfStatement);
return $statement;
}
}

Datei anzeigen

@ -30,7 +30,7 @@ class Msd_Sql_Parser_Statement_Unlock implements Msd_Sql_Parser_Interface
$sql->setState('Unlock');
$endOfStatement = $sql->getPosition(';');
$statement = $sql->getData($endOfStatement);
$sql->setPointer($endOfStatement+1);
$sql->setPointer($endOfStatement);
return $statement;
}
}