Skip to content

Commit e46183d

Browse files
committed
Adding SQLParser lib directly into database.querywriter and refactoring all the code to use that lib + making making SQLParser PSR0 compatible
1 parent 801ecee commit e46183d

File tree

260 files changed

+5274
-6741
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

260 files changed

+5274
-6741
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
},
2222
"autoload": {
2323
"psr-0": {
24-
"Mouf": "src/"
24+
"Mouf": "src/",
25+
"SQLParser": "src/"
2526
}
2627
},
2728
"extra": {

src/Mouf/Database/QueryWriter/Column.php

Lines changed: 0 additions & 70 deletions
This file was deleted.

src/Mouf/Database/QueryWriter/Controllers/SelectController.php

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
<?php
22
namespace Mouf\Database\QueryWriter\Controllers;
33

4+
use SQLParser\Query\StatementFactory;
5+
6+
use SQLParser\SQLParser;
7+
48
use Mouf\Controllers\AbstractMoufInstanceController;
59

610
use Mouf\Database\TDBM\Utils\TDBMDaoGenerator;
@@ -26,7 +30,9 @@ class SelectController extends AbstractMoufInstanceController {
2630
* @var HtmlBlock
2731
*/
2832
public $content;
29-
33+
34+
protected $sql;
35+
3036
/**
3137
* Admin page used to display the DAO generation form.
3238
*
@@ -35,12 +41,9 @@ class SelectController extends AbstractMoufInstanceController {
3541
*/
3642
public function defaultAction($name, $selfedit="false") {
3743
$this->initController($name, $selfedit);
38-
require_once __DIR__.'/../../../../php-sql-parser/php-sql-parser.php';
3944

40-
$parser = new PHPSQLParser();
41-
$parsed = $parser->parse("SELECT toto as tata FROM table");
42-
print_r($parsed);
43-
exit;
45+
$select = MoufManager::getMoufManagerHiddenInstance()->getInstance($name);
46+
$this->sql = $select->toSql(null);
4447

4548
$this->content->addFile(dirname(__FILE__)."/../../../../views/parseSql.php", $this);
4649
$this->template->toHtml();
@@ -50,12 +53,31 @@ public function defaultAction($name, $selfedit="false") {
5053
* This action generates the DAOs and Beans for the TDBM service passed in parameter.
5154
*
5255
* @Action
53-
* @param string $name
54-
* @param bool $selfedit
56+
* @param string $sql
57+
* @param string $selfedit
5558
*/
56-
public function generate($name, $sourcedirectory, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $keepSupport = 0,$selfedit="false") {
59+
public function parse($name, $sql,$selfedit="false") {
5760
$this->initController($name, $selfedit);
5861

62+
require_once __DIR__.'/../../../../php-sql-parser/php-sql-parser.php';
63+
64+
/*$parser = new \PHPSQLParser();
65+
$parsed = $parser->parse($sql);
66+
print_r($parsed);
67+
exit;*/
68+
69+
$parser = new SQLParser();
70+
$parsed = $parser->parse($sql);
71+
//print_r($parsed);
72+
$select = StatementFactory::toObject($parsed);
73+
//var_dump(StatementFactory::toObject($parsed));
74+
/*var_export($select);
75+
var_dump($select->toInstanceDescriptor(MoufManager::getMoufManager()));
76+
exit;*/
77+
//var_export($parsed);exit;
78+
$moufManager = MoufManager::getMoufManagerHiddenInstance();
79+
$select->overwriteInstanceDescriptor($name, $moufManager);
80+
$moufManager->rewriteMouf();
5981

6082
// TODO: better: we should redirect to a screen that list the number of DAOs generated, etc...
6183
header("Location: ".ROOT_URL."ajaxinstance/?name=".urlencode($name)."&selfedit=".$selfedit);

src/Mouf/Database/QueryWriter/CountNbResult.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<?php
22
namespace Mouf\Database\QueryWriter;
33

4+
use SQLParser\Query\Select;
5+
46
use Mouf\Utils\Value\IntValueInterface;
57

68
use Mouf\Database\DBConnection\ConnectionInterface;
@@ -28,7 +30,7 @@ class CountNbResult implements IntValueInterface {
2830
private $connection;
2931

3032
/**
31-
*
33+
* @Important $select
3234
* @param Select $select
3335
* @param ConnectionInterface $connection
3436
*/

src/Mouf/Database/QueryWriter/Expressions/ColRef.php

Lines changed: 0 additions & 94 deletions
This file was deleted.

src/Mouf/Database/QueryWriter/Expressions/ExpressionInterface.php

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)