| 568 | } |
| 569 | |
| 570 | void NBackup::create_database() |
| 571 | { |
| 572 | #ifdef WIN_NT |
| 573 | dbase = CreateFile(dbname.c_str(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_DELETE, |
| 574 | NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL); |
| 575 | if (dbase != INVALID_HANDLE_VALUE) |
| 576 | return; |
| 577 | #else |
| 578 | dbase = os_utils::open(dbname.c_str(), O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE, 0660); |
| 579 | if (dbase >= 0) |
| 580 | return; |
| 581 | #endif |
| 582 | |
| 583 | status_exception::raise(Arg::Gds(isc_nbackup_err_createdb) << dbname.c_str() << Arg::OsError()); |
| 584 | } |
| 585 | |
| 586 | void NBackup::close_database() |
| 587 | { |