MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / main

Function main

src/utilities/create_db.cpp:8–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include <stdio.h>
7
8int main(int argc, char** argv)
9{
10 if (argc != 2)
11 {
12 printf("Usage: %s <new db name>\n", argv[0]);
13 return -1;
14 }
15
16 ISC_STATUS_ARRAY sv;
17 isc_db_handle db = 0;
18 isc_tr_handle tr = 0;
19
20
21 isc_create_database(sv, 0, argv[1], &db, 0, 0, 0);
22 if (sv[0] == 1 && sv[1] > 0)
23 {
24 isc_print_status(sv);
25 return -2;
26 }
27 isc_start_transaction(sv, &tr, 1, &db, 0, 0);
28 if (sv[0] == 1 && sv[1] > 0)
29 {
30 isc_print_status(sv);
31 return -3;
32 }
33 isc_commit_transaction(sv, &tr);
34 if (sv[0] == 1 && sv[1] > 0)
35 {
36 isc_print_status(sv);
37 return -3;
38 }
39 isc_detach_database(sv, &db);
40 if (sv[0] == 1 && sv[1] > 0)
41 {
42 isc_print_status(sv);
43 return -3;
44 }
45
46 Firebird::ClumpletWriter dpb(Firebird::ClumpletReader::dpbList, MAX_DPB_SIZE);
47 dpb.insertByte(isc_dpb_set_db_readonly, TRUE);
48 isc_attach_database(sv, 0, argv[1], &db, dpb.getBufferLength(),
49 reinterpret_cast<const char*>(dpb.getBuffer()));
50 if (sv[0] == 1 && sv[1] > 0)
51 {
52 isc_print_status(sv);
53 return -4;
54 }
55 isc_detach_database(sv, &db);
56 if (sv[0] == 1 && sv[1] > 0)
57 {
58 isc_print_status(sv);
59 return -5;
60 }
61
62 return 0;
63}
64
65

Callers

nothing calls this directly

Calls 3

insertByteMethod · 0.80
getBufferLengthMethod · 0.45
getBufferMethod · 0.45

Tested by

no test coverage detected