------------------------------------------------------------------------------
| 493 | |
| 494 | //------------------------------------------------------------------------------ |
| 495 | vtkStringArray* vtkPostgreSQLDatabase::GetDatabases() |
| 496 | { |
| 497 | if (!this->Connection) |
| 498 | { |
| 499 | vtkErrorMacro("Must be connected to a server to get a list of databases."); |
| 500 | return nullptr; |
| 501 | } |
| 502 | |
| 503 | vtkSQLQuery* query = this->GetQueryInstance(); |
| 504 | if (!query) |
| 505 | { |
| 506 | vtkErrorMacro("Could not create a query."); |
| 507 | return nullptr; |
| 508 | } |
| 509 | |
| 510 | query->SetQuery("SELECT datname FROM pg_database"); |
| 511 | if (!query->Execute()) |
| 512 | { |
| 513 | query->Delete(); |
| 514 | return nullptr; |
| 515 | } |
| 516 | vtkStringArray* dbNames = vtkStringArray::New(); |
| 517 | while (query->NextRow()) |
| 518 | { |
| 519 | dbNames->InsertNextValue(query->DataValue(0).ToString()); |
| 520 | } |
| 521 | query->Delete(); |
| 522 | return dbNames; |
| 523 | } |
| 524 | |
| 525 | //------------------------------------------------------------------------------ |
| 526 | bool vtkPostgreSQLDatabase::CreateDatabase(const char* dbName, bool dropExisting) |