| @@ 278-317 (lines=40) @@ | ||
| 275 | return "definitions"; |
|
| 276 | } |
|
| 277 | ||
| 278 | public function init_definition_table(S\Schema $schema, S\Table $name_table, S\Table $source_table) { |
|
| 279 | $definition_table = $schema->createTable($this->definition_table()); |
|
| 280 | $definition_table->addColumn |
|
| 281 | ("id", "integer" |
|
| 282 | , array("notnull" => true, "unsigned" => true, "autoincrement" => true) |
|
| 283 | ); |
|
| 284 | $definition_table->addColumn |
|
| 285 | ( "name", "integer" |
|
| 286 | , array("notnull" => true) |
|
| 287 | ); |
|
| 288 | $definition_table->addColumn |
|
| 289 | ( "file", "integer" |
|
| 290 | , array("notnull" => true) |
|
| 291 | ); |
|
| 292 | $definition_table->addColumn |
|
| 293 | ( "start_line", "integer" |
|
| 294 | , array("notnull" => true) |
|
| 295 | ); |
|
| 296 | $definition_table->addColumn |
|
| 297 | ( "end_line", "integer" |
|
| 298 | , array("notnull" => true) |
|
| 299 | ); |
|
| 300 | $definition_table->setPrimaryKey(array("id")); |
|
| 301 | $definition_table->addForeignKeyConstraint |
|
| 302 | ( $name_table |
|
| 303 | , array("name") |
|
| 304 | , array("id") |
|
| 305 | ); |
|
| 306 | $definition_table->addForeignKeyConstraint |
|
| 307 | ( $source_table |
|
| 308 | , array("file", "start_line") |
|
| 309 | , array("file", "line") |
|
| 310 | ); |
|
| 311 | $definition_table->addForeignKeyConstraint |
|
| 312 | ( $source_table |
|
| 313 | , array("file", "end_line") |
|
| 314 | , array("file", "line") |
|
| 315 | ); |
|
| 316 | return $definition_table; |
|
| 317 | } |
|
| 318 | ||
| 319 | public function method_info_table() { |
|
| 320 | return "method_info"; |
|
| @@ 360-403 (lines=44) @@ | ||
| 357 | return "relations"; |
|
| 358 | } |
|
| 359 | ||
| 360 | public function init_relation_table(S\Schema $schema, S\Table $name_table, S\Table $source_table) { |
|
| 361 | $relation_table = $schema->createTable($this->relation_table()); |
|
| 362 | $relation_table->addColumn |
|
| 363 | ("id", "integer" |
|
| 364 | , array("notnull" => true, "unsigned" => true, "autoincrement" => true) |
|
| 365 | ); |
|
| 366 | $relation_table->addColumn |
|
| 367 | ( "name_left", "integer" |
|
| 368 | , array("notnull" => true) |
|
| 369 | ); |
|
| 370 | $relation_table->addColumn |
|
| 371 | ( "name_right", "integer" |
|
| 372 | , array("notnull" => true) |
|
| 373 | ); |
|
| 374 | $relation_table->addColumn |
|
| 375 | ( "which", "string" |
|
| 376 | , array("notnull" => true) |
|
| 377 | ); |
|
| 378 | $relation_table->addColumn |
|
| 379 | ( "file", "integer" |
|
| 380 | , array("notnull" => true) |
|
| 381 | ); |
|
| 382 | $relation_table->addColumn |
|
| 383 | ( "line", "integer" |
|
| 384 | , array("notnull" => true) |
|
| 385 | ); |
|
| 386 | $relation_table->setPrimaryKey(array("id")); |
|
| 387 | $relation_table->addForeignKeyConstraint |
|
| 388 | ( $name_table |
|
| 389 | , array("name_left") |
|
| 390 | , array("id") |
|
| 391 | ); |
|
| 392 | $relation_table->addForeignKeyConstraint |
|
| 393 | ( $name_table |
|
| 394 | , array("name_right") |
|
| 395 | , array("id") |
|
| 396 | ); |
|
| 397 | $relation_table->addForeignKeyConstraint |
|
| 398 | ( $source_table |
|
| 399 | , array("file", "line") |
|
| 400 | , array("file", "line") |
|
| 401 | ); |
|
| 402 | return $relation_table; |
|
| 403 | } |
|
| 404 | ||
| 405 | // Creation of database. |
|
| 406 | ||