Amazon Best VPN GoSearch

favorit OnWorks

odb - Online di Cloud

Jalankan odb di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah odb yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


odb - kompiler pemetaan relasional objek (ORM) untuk C++

RINGKASAN


ODB [ Pilihan ] fillet [ mengajukan... ]

DESKRIPSI


Diberikan satu set kelas C++ dalam file header, ODB menghasilkan kode C++ yang memungkinkan Anda untuk
bertahan, meminta, dan memperbarui objek kelas-kelas ini dalam database relasional (RDBMS). NS
database relasional yang harus ditargetkan oleh kode yang dihasilkan ditentukan dengan yang diperlukan
--basis data pilihan (lihat di bawah).

Untuk file input dalam bentuk nama.hxx (ekstensi file lain dapat digunakan sebagai pengganti
.hxx), dalam mode database tunggal (default), file C++ yang dihasilkan secara default memiliki
nama-nama berikut: nama-odb.hxx (file tajuk), nama-odb.ixx (file sebaris), dan nama-
odb.cxx (sumber data). Selain itu, jika --generate-skema opsi ditentukan dan
sql format skema diminta (lihat --format-skema), Yang nama.sql file skema database adalah
dihasilkan. jika terpisah format skema diminta, kode pembuatan basis data adalah
dihasilkan menjadi terpisah nama-skema.cxx file.

Dalam mode multi-basis data (lihat --multi-basis data opsi di bawah), file yang dihasilkan
sesuai dengan umum database memiliki nama yang sama seperti dalam mode database tunggal.
Untuk database lain, nama file menyertakan nama database: nama-odb-db.hxx, nama-odb-
db.ixx, nama-odb-db.cxx, nama-db.sql, dan nama-skema-db.cxx (dimana db adalah databasenya
nama).

PILIHAN


--membantu Cetak informasi penggunaan dan keluar.

--Versi: kapan
Versi cetak dan keluar.

-I dir Add dir ke awal daftar direktori yang akan dicari disertakan
file header.

-D nama[=def]
Definisikan makro nama dengan definisi def. Jika definisi dihilangkan, tentukan nama menjadi
1.

-U nama
Batalkan definisi makro sebelumnya nama, baik built-in atau disediakan dengan
-D .

--basis data|-d db
Buat kode untuk db basis data. Nilai yang valid adalah mssql.dll, mysql, peramal, pgsql,
sqlite, dan umum (hanya mode multi-basis data).

--multi-basis data|-m mengetik
Aktifkan dukungan multi-basis data dan tentukan jenisnya. Nilai yang valid untuk opsi ini
adalah statis dan dinamis.

Dalam mode multi-database, opsi yang menentukan jenis (misalnya, --skema-
format), nama (misalnya, --odb-file-akhiran), atau konten (misalnya, prolog
dan opsi epilog) dari file output dapat diawali dengan nama database
diikuti oleh titik dua, misalnya, mysql:nilai. Ini membatasi nilai an seperti itu
opsi untuk hanya berlaku untuk file yang dihasilkan terkait dengan database ini.

--database-default db
Ketika dukungan multi-database statis digunakan, tentukan database yang seharusnya
dijadikan default. Ketika dukungan multi-database dinamis digunakan, umum selalu
dijadikan database default.

--hasilkan-permintaan|-q
Buat kode dukungan kueri. Tanpa dukungan ini, Anda tidak dapat menggunakan tampilan dan hanya dapat
memuat objek melalui id mereka.

--hasilkan-siapkan
Buat kode dukungan eksekusi kueri yang disiapkan.

--hilangkan-tidak siap
Abaikan kode dukungan eksekusi kueri yang tidak disiapkan (sekali mati).

--generasi-sesi|-e
Buat kode dukungan sesi. Dengan opsi ini, dukungan sesi akan diaktifkan oleh
default untuk semua kelas persisten kecuali kelas yang secara eksplisit
dinonaktifkan menggunakan db Sidang pragma.

--generate-skema|-s
Buat skema database. Skema database berisi pernyataan SQL yang
buat tabel database yang diperlukan untuk menyimpan kelas persisten yang ditentukan dalam file
sedang dikompilasi. Perhatikan bahwa dengan menerapkan skema ini, semua informasi yang ada
disimpan dalam tabel tersebut akan hilang.

Tergantung pada database yang digunakan (--basis data opsi), skema dihasilkan
baik sebagai file SQL mandiri atau disematkan ke dalam kode C++ yang dihasilkan. Secara default
file SQL dibuat untuk MySQL, PostgreSQL, Oracle, dan Microsoft SQL
Database server dan skema disematkan ke dalam kode C++ untuk SQLite
basis data. Menggunakan --format-skema opsi untuk mengubah format skema default.

Jika dukungan evolusi skema database diaktifkan (yaitu, versi model objek
ditentukan), maka opsi ini juga memicu pembuatan skema basis data
pernyataan migrasi, sekali lagi baik sebagai file SQL mandiri atau disematkan ke dalam
kode C++ yang dihasilkan. Anda dapat menekan pembuatan pernyataan migrasi skema
dengan menentukan --suppress-migrasi .

--menghasilkan-skema-saja
Hasilkan hanya skema database. Perhatikan bahwa opsi ini hanya berlaku ketika
menghasilkan skema sebagai file SQL mandiri (lihat --format-skema untuk lebih jelasnya).

--suppress-migrasi
Menekan pembuatan pernyataan migrasi skema database.

--menekan-skema-versi
Menekan pembuatan tabel versi skema. Jika Anda menentukan opsi ini maka
Anda juga diharapkan untuk secara manual menentukan versi skema database dan migrasi
status saat runtime menggunakan odb::database::schema_version() fungsi.

--skema-versi-tabel nama
Tentukan nama tabel versi skema alternatif alih-alih default
skema_versi. Jika Anda menentukan opsi ini maka Anda juga diharapkan secara manual
tentukan nama tabel versi skema saat runtime menggunakan
odb::database::schema_version_table() fungsi. Nama tabel dapat memenuhi syarat.

--format-skema format
Menghasilkan skema database dalam format yang ditentukan. Lulus sql as format untuk
menghasilkan skema database sebagai file SQL mandiri atau pass tertanam untuk menanamkan
skema ke dalam kode C++ yang dihasilkan. NS terpisah nilainya mirip dengan tertanam
kecuali kode pembuatan skema dibuat menjadi file C++ terpisah (nama-
skema.cxx secara default). Nilai ini terutama berguna jika Anda ingin menempatkan
fungsionalitas pembuatan skema ke dalam program atau pustaka yang terpisah. Ulangi ini
pilihan untuk menghasilkan skema database yang sama dalam berbagai format.

--hilangkan-jatuhkan
Menghilangkan DROP pernyataan dari skema database yang dihasilkan.

--menghilangkan-membuat
Menghilangkan MEMBUAT pernyataan dari skema database yang dihasilkan.

--nama-skema nama
penggunaan nama sebagai nama skema database. Nama skema terutama digunakan untuk
membedakan antara beberapa skema yang disematkan dalam katalog skema. Mereka tidak
menjadi bingung dengan skema database (database namespaces) yang ditentukan dengan
itu --skema pilihan. Jika opsi ini tidak ditentukan, nama kosong, yaitu
nama skema default, digunakan.

--fkeys-deferrable-mode m
Gunakan mode pemeriksaan kendala m dalam kunci asing yang dihasilkan untuk hubungan objek.
Nilai yang valid untuk opsi ini adalah tidak_dapat ditangguhkan, Segera, dan tangguhan (bawaan).
MySQL dan SQL Server tidak mendukung kunci asing yang dapat ditangguhkan dan untuk database ini
kunci tersebut dihasilkan dikomentari. Kunci asing lainnya yang dihasilkan oleh ODB
compiler (seperti yang digunakan untuk mendukung wadah dan hierarki polimorfik)
selalu dihasilkan sebagai tidak dapat ditangguhkan.

Perhatikan juga bahwa jika Anda menggunakan keduanya tidak_dapat ditangguhkan or Segera mode, lalu urutannya
di mana Anda bertahan, memperbarui, dan menghapus objek dalam transaksi menjadi
penting.

--penunjuk default ptr
penggunaan ptr sebagai penunjuk default untuk objek dan tampilan persisten. Objek dan pemandangan
yang tidak memiliki penunjuk yang ditetapkan dengan db petunjuk pragma akan menggunakan ini
penunjuk secara default. Nilai opsi ini dapat menjadi * yang menunjukkan pointer mentah
dan merupakan default, atau nama yang memenuhi syarat dari templat kelas penunjuk pintar, untuk
contoh, std::auto_ptr. Dalam kasus terakhir, kompiler ODB membangun objek
atau penunjuk tampilan dengan menambahkan argumen templat tunggal dari objek atau tipe tampilan ke
nama yang memenuhi syarat, misalnya std::auto_ptr. Runtime ODB menggunakan objek
dan melihat pointer untuk kembali, dan, dalam kasus objek, lulus dan cache secara dinamis
contoh objek dan tipe tampilan yang dialokasikan.

Kecuali untuk pointer mentah dan pointer pintar standar yang ditentukan dalam
file header, Anda diharapkan menyertakan definisi pointer default di
awal dari file header yang dihasilkan. Ada dua cara umum untuk mencapai
ini: Anda dapat memasukkan header yang diperlukan dalam file yang sedang dikompilasi atau Anda
dapat menggunakan --hxx-prolog opsi untuk menambahkan yang diperlukan #include arahan ke
kode yang dihasilkan.

--jenis-sesi mengetik
penggunaan mengetik sebagai jenis sesi alternatif, bukan default odb::sesi. Ini
opsi dapat digunakan untuk menentukan implementasi sesi khusus yang akan digunakan oleh
kelas persisten. Perhatikan bahwa Anda juga perlu memasukkan definisi dari
jenis sesi kustom ke dalam file header yang dihasilkan. Ini biasanya dicapai dengan
itu --hxx-prolog* Pilihan.

--Profil|-p nama
Tentukan profil yang harus digunakan selama kompilasi. Profil adalah pilihan
mengajukan. Kompiler ODB pertama-tama mencari versi khusus database dengan nama
dibangun dengan menambahkan -Database.pilihan akhiran untuk nama, Di mana Database is
nama database seperti yang ditentukan dengan --basis data pilihan. Jika file ini tidak
ditemukan, maka kompiler ODB mencari versi database-independen dengan nama
dibangun dengan menambahkan hanya .pilihan akhiran.

File opsi profil dicari dalam kumpulan direktori yang sama dengan C++
header disertakan dengan #include <...> direktif (jalur bawaan ditambah yang
ditentukan dengan -I pilihan). File opsi pertama kali dicari di
direktori itu sendiri dan kemudian di aneh/ subdirektori.

Untuk format file opsi, lihat --opsi-file pilihan di bawah ini. Anda
dapat mengulangi opsi ini untuk menentukan lebih dari satu profil.

--sekaligus
Hasilkan kode untuk semua file input serta untuk semua file yang mereka
termasuk sekaligus. Hasilnya adalah satu set file sumber/skema yang berisi semua
kode yang dihasilkan. Jika lebih dari satu file input ditentukan bersama dengan ini
pilihan, maka --masukan-nama opsi juga harus ditentukan untuk memberikan
nama dasar untuk file output. Dalam hal ini, bagian direktori dari basis seperti itu
name digunakan sebagai lokasi file gabungan. Ini bisa menjadi penting untuk
#include resolusi direktif.

--skema skema
Tentukan skema database (database namespace) yang harus ditetapkan ke
kelas persisten dalam file yang sedang dikompilasi. Skema database tidak boleh
bingung dengan nama skema database (nama katalog skema) yang ditentukan dengan
itu --nama-skema .

--ekspor-simbol simbol
Menyisipkan simbol di tempat-tempat di mana pernyataan kontrol ekspor/impor DLL
(__declspec(dllexport/dllimport)) diperlukan. Lihat juga --extern-simbol
pilihan di bawah ini.

--extern-simbol simbol
If simbol didefinisikan, masukkan di tempat di mana instantiasi template harus
menyatakan luar. Opsi ini biasanya digunakan bersama dengan --ekspor-simbol ketika
baik dukungan multi-basis data dan kueri diaktifkan.

--std versi
Tentukan standar C++ yang harus digunakan selama kompilasi. Nilai yang valid adalah
c++98 (Default), c++11, dan c++14.

--peringatkan-keras-tambahkan
Peringatkan tentang anggota data tambahan.

--peringatkan-sulit-hapus
Peringatkan tentang anggota data yang dihapus secara permanen dan kelas persisten.

--peringatan-keras
Peringatkan tentang anggota data yang ditambahkan dan dihapus secara permanen dan kelas persisten.

--keluaran-dir|-o dir
Tulis file yang dihasilkan ke dir alih-alih direktori saat ini.

--masukan-nama nama
penggunaan nama alih-alih file input untuk mendapatkan nama file yang dihasilkan. Jika
itu --sekaligus opsi ditentukan, maka bagian direktori dari nama digunakan sebagai
lokasi file gabungan. Mengacu kepada --sekaligus pilihan untuk rincian.

--log perubahan fillet
Baca/tulis changelog dari/ke fillet alih-alih file changelog default. NS
nama file changelog default berasal dari nama file input dan ditempatkan
ke direktori yang sama dengan file input. Perhatikan bahwa --keluaran-dir pilihan tidak
tidak mempengaruhi lokasi file changelog. Dengan kata lain, secara default, changelog
file diperlakukan sebagai input lain daripada output meskipun kompiler ODB
dapat memodifikasinya. Menggunakan --perubahan masuk dan --perubahanlog-out pilihan untuk menentukan
file changelog input dan output yang berbeda.

--perubahan masuk fillet
Baca changelog dari fillet alih-alih file changelog default. Jika opsi ini adalah
ditentukan, maka Anda juga harus menentukan file changelog output dengan --log perubahan-
di luar.

--perubahanlog-out fillet
Tulis changelog ke fillet alih-alih file changelog default. Jika opsi ini adalah
ditentukan, maka Anda juga harus menentukan file changelog input dengan --log perubahan-
in.

--changelog-dir dir
penggunaan dir alih-alih direktori file input sebagai direktori file changelog. Ini
direktori juga ditambahkan ke file changelog yang ditentukan dengan --log perubahan,
--perubahan masuk, dan --perubahan masuk pilihan kecuali jika itu adalah jalur absolut.

--init-changelog
Paksa inisialisasi ulang changelog meskipun ada (semua yang ada
mengubah sejarah akan hilang). Opsi ini terutama berguna untuk otomatis
pengujian.

--odb-file-akhiran akhiran
penggunaan akhiran untuk membuat nama file C++ yang dihasilkan. Dalam tunggal-
mode database nilai default untuk opsi ini adalah -odb. Dalam mode multi-basis data
ini -odb untuk file yang sesuai dengan umum basis data dan -odb-db (dimana db
adalah nama database) untuk database lain.

--sql-file-akhiran akhiran
penggunaan akhiran untuk membangun nama file SQL skema yang dihasilkan. Dalam tunggal-
mode database secara default tidak ada sufiks yang digunakan. Dalam mode multi-basis data, defaultnya
nilai untuk opsi ini adalah -db (dimana db adalah nama database).

--skema-file-akhiran akhiran
penggunaan akhiran untuk membuat nama file sumber skema C++ yang dihasilkan. Dalam
mode database tunggal nilai default untuk opsi ini adalah -skema. Dalam multi-
mode basis data itu -skema-db (dimana db adalah nama database). Lihat --skema-
format pilihan untuk rincian.

--changelog-file-akhiran sfx
penggunaan sfx untuk membuat nama file changelog. Dalam mode database tunggal oleh
default tidak ada sufiks yang digunakan. Dalam mode multi-database nilai default untuk ini
pilihannya adalah -db (dimana db adalah nama database).

--hxx-akhiran akhiran
penggunaan akhiran alih-alih default .hxx untuk membangun nama C++ . yang dihasilkan
berkas kepala.

--ixx-akhiran akhiran
penggunaan akhiran alih-alih default .ixx untuk membangun nama C++ . yang dihasilkan
berkas sebaris.

--cxx-akhiran akhiran
penggunaan akhiran alih-alih default .cxx untuk membangun nama C++ . yang dihasilkan
sumber data.

--sql-akhiran akhiran
penggunaan akhiran alih-alih default .sql untuk membangun nama yang dihasilkan
file skema basis data.

--changelog-akhiran akhiran
penggunaan akhiran alih-alih default . Xml untuk membuat nama file changelog.

--hxx-prolog teks
Menyisipkan teks di awal file header C++ yang dihasilkan.

--ixx-prolog teks
Menyisipkan teks di awal file inline C++ yang dihasilkan.

--cxx-prolog teks
Menyisipkan teks di awal file sumber C++ yang dihasilkan.

--skema-prolog teks
Menyisipkan teks di awal file sumber skema C++ yang dihasilkan.

--sql-prolog teks
Menyisipkan teks di awal file skema database yang dihasilkan.

--migrasi-prolog teks
Menyisipkan teks di awal file migrasi database yang dihasilkan.

--sql-selingan teks
Menyisipkan teks setelah semua DROP dan sebelum MEMBUAT pernyataan yang dihasilkan
file skema basis data.

--hxx-epilog teks
Menyisipkan teks di akhir file header C++ yang dihasilkan.

--ixx-epilog teks
Menyisipkan teks di akhir file inline C++ yang dihasilkan.

--cxx-epilog teks
Menyisipkan teks di akhir file sumber C++ yang dihasilkan.

--skema-epilog teks
Menyisipkan teks di akhir file sumber skema C++ yang dihasilkan.

--sql-epilog teks
Menyisipkan teks di akhir file skema database yang dihasilkan.

--migrasi-epilog teks
Menyisipkan teks di akhir file migrasi database yang dihasilkan.

--hxx-prolog-file fillet
Masukkan konten dari fillet di awal file header C++ yang dihasilkan.

--ixx-prolog-file fillet
Masukkan konten dari fillet di awal file inline C++ yang dihasilkan.

--cxx-prolog-file fillet
Masukkan konten dari fillet di awal file sumber C++ yang dihasilkan.

--schema-prolog-file fillet
Masukkan konten dari fillet di awal sumber skema C++ yang dihasilkan
file.

--sql-prolog-file fillet
Masukkan konten dari fillet di awal file skema database yang dihasilkan.

--migrasi-prolog-file f
Masukkan konten file f di awal migrasi basis data yang dihasilkan
file.

--sql-selingan-file fillet
Masukkan konten dari fillet setelah semua DROP dan sebelum MEMBUAT pernyataan dalam
file skema database yang dihasilkan.

--hxx-epilog-file fillet
Masukkan konten dari fillet di akhir file header C++ yang dihasilkan.

--ixx-epilog-file fillet
Masukkan konten dari fillet di akhir file inline C++ yang dihasilkan.

--cxx-epilog-file fillet
Masukkan konten dari fillet di akhir file sumber C++ yang dihasilkan.

--skema-epilog-file fillet
Masukkan konten dari fillet di akhir file sumber skema C++ yang dihasilkan.

--sql-epilog-file fillet
Masukkan konten dari fillet di akhir file skema database yang dihasilkan.

--migrasi-epilog-file f
Masukkan konten file f di akhir file migrasi database yang dihasilkan.

--odb-prolog teks
Menyusun teks sebelum file header masukan. Opsi ini memungkinkan Anda untuk menambahkan tambahan
deklarasi, seperti spesialisasi ciri khusus, ke kompilasi ODB
proses.

--odb-prolog-file fillet
Menyusun fillet konten sebelum file header input. File prolog dikompilasi
setelah semua fragmen teks prolog (--odb-prolog pilihan).

--odb-epilog teks
Menyusun teks setelah file header masukan. Opsi ini memungkinkan Anda untuk menambahkan tambahan
deklarasi, seperti spesialisasi ciri khusus, ke kompilasi ODB
proses.

--odb-epilog-file fillet
Menyusun fillet konten setelah file header input. File epilog dikompilasi
setelah semua fragmen teks epilog (--odb-epilog pilihan).

--awalan-tabel awalan
Add awalan untuk nama tabel dan, untuk database yang memiliki indeks global dan/atau asing
nama-nama kunci, untuk nama-nama itu juga. Awalan ditambahkan ke kedua nama yang
ditentukan dengan db tabel dan db indeks pragma dan yang secara otomatis
berasal dari kelas dan nama anggota data. Jika Anda memerlukan pemisah, seperti
garis bawah, antara awalan dan nama, maka Anda harus memasukkannya ke dalam
nilai awalan.

--indeks-akhiran akhiran
penggunaan akhiran alih-alih default _i untuk membangun nama indeks. Akhiran hanya
ditambahkan ke nama yang secara otomatis berasal dari nama anggota data. Jika kamu
membutuhkan pemisah, seperti garis bawah, antara nama dan akhiran, lalu
Anda harus memasukkannya ke dalam nilai sufiks.

--fkey-akhiran akhiran
penggunaan akhiran alih-alih default _fk untuk membangun nama kunci asing. Jika kamu
membutuhkan pemisah, seperti garis bawah, antara nama dan akhiran, lalu
Anda harus memasukkannya ke dalam nilai sufiks.

--urutan-akhiran akhiran
penggunaan akhiran alih-alih default _seq untuk membangun nama urutan. Jika Anda membutuhkan
pemisah, seperti garis bawah, antara nama dan akhiran, maka Anda
harus memasukkannya ke dalam nilai akhiran.

--sql-nama-kasus kasus
Ubah semua nama SQL yang diturunkan secara otomatis menjadi huruf besar atau kecil. Nilai yang valid
untuk opsi ini adalah atas dan menurunkan.

--tabel-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah
nama tabel yang diturunkan secara otomatis. Lihat bagian TRANSFORMASI NAMA SQL di bawah ini
untuk rincian.

--kolom-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah
nama kolom yang diturunkan secara otomatis. Lihat bagian TRANSFORMASI NAMA SQL di bawah ini
untuk rincian.

--indeks-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah
nama indeks yang diturunkan secara otomatis. Lihat bagian TRANSFORMASI NAMA SQL di bawah ini
untuk rincian.

--fkey-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah
nama kunci asing yang diturunkan secara otomatis. Lihat bagian TRANSFORMASI NAMA SQL
di bawah untuk detailnya.

--urutan-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah
nama urutan yang diturunkan secara otomatis. Lihat bagian TRANSFORMASI NAMA SQL
di bawah untuk detailnya.

--pernyataan-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah
nama pernyataan siap yang diturunkan secara otomatis. Lihat TRANSFORMASI NAMA SQL
bagian di bawah untuk detailnya.

--sql-nama-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah semua
nama SQL yang diturunkan secara otomatis. Lihat bagian TRANSFORMASI NAMA SQL di bawah ini untuk
rincian.

--sql-nama-regex-jejak
Lacak proses penerapan ekspresi reguler yang ditentukan dengan nama SQL
--*-regex pilihan. Gunakan opsi ini untuk mencari tahu mengapa ekspresi reguler Anda tidak
melakukan apa yang Anda harapkan mereka lakukan.

--aksesor-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah nama anggota data menjadi
nama fungsi saat mencari fungsi pengakses yang sesuai. Argumen untuk
opsi ini adalah ekspresi reguler seperti Perl dalam bentuk /belt hold/penggantian/.
Karakter apa pun dapat digunakan sebagai pembatas, bukan / dan pembatasnya bisa
melarikan diri ke dalam belt hold dan penggantian dengan garis miring terbalik (\). Anda dapat menentukan
beberapa ekspresi reguler dengan mengulangi opsi ini.

Semua ekspresi reguler dicoba dalam urutan yang ditentukan dan yang pertama
ekspresi yang menghasilkan fungsi pengakses yang sesuai digunakan. Setiap ekspresi adalah
mencoba dua kali: pertama dengan nama anggota yang sebenarnya dan kemudian dengan nama anggota publik
nama yang diperoleh dengan menghapus dekorasi nama anggota umum, seperti
garis bawah awal dan akhir, the m_ awalan, dll. Kompiler ODB juga
mencakup sejumlah ekspresi bawaan untuk nama pengakses yang umum digunakan, seperti
dapatkan_foo, dapatkanFoo, dapatkan foo, dan hanya foo. Ekspresi bawaan dicoba terakhir.

Sebagai contoh, ekspresi berikut mengubah anggota data dengan nama publik:
dalam bentuk foo untuk nama pengakses dalam bentuk DapatkanFoo:

/(.+)/Dapatkan\u$1/

Lihat juga bagian REGEX AND SHELL QUOTING di bawah ini.

--aksesor-regex-trace
Lacak proses penerapan ekspresi reguler yang ditentukan dengan --aksesor-
regex pilihan. Gunakan opsi ini untuk mencari tahu mengapa ekspresi reguler Anda tidak berfungsi
apa yang Anda harapkan mereka lakukan.

--pengubah-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah nama anggota data menjadi
nama fungsi saat mencari fungsi pengubah yang sesuai. Argumen untuk
opsi ini adalah ekspresi reguler seperti Perl dalam bentuk /belt hold/penggantian/.
Karakter apa pun dapat digunakan sebagai pembatas, bukan / dan pembatasnya bisa
melarikan diri ke dalam belt hold dan penggantian dengan garis miring terbalik (\). Anda dapat menentukan
beberapa ekspresi reguler dengan mengulangi opsi ini.

Semua ekspresi reguler dicoba dalam urutan yang ditentukan dan yang pertama
ekspresi yang menghasilkan fungsi pengubah yang sesuai digunakan. Setiap ekspresi adalah
mencoba dua kali: pertama dengan nama anggota yang sebenarnya dan kemudian dengan nama anggota publik
nama yang diperoleh dengan menghapus dekorasi nama anggota umum, seperti
garis bawah awal dan akhir, the m_ awalan, dll. Kompiler ODB juga
mencakup sejumlah ekspresi bawaan untuk nama pengubah yang umum digunakan, seperti
set_foo, setFoo, setfoo, dan hanya foo. Ekspresi bawaan dicoba terakhir.

Sebagai contoh, ekspresi berikut mengubah anggota data dengan nama publik:
dalam bentuk foo untuk mengubah nama dalam bentuk SetFoo:

/(.+)/Set\u$1/

Lihat juga bagian REGEX AND SHELL QUOTING di bawah ini.

--pengubah-regex-trace
Lacak proses penerapan ekspresi reguler yang ditentukan dengan --pengubah-
regex pilihan. Gunakan opsi ini untuk mencari tahu mengapa ekspresi reguler Anda tidak berfungsi
apa yang Anda harapkan mereka lakukan.

--termasuk-dengan-kurung
Gunakan kurung sudut (<>) alih-alih tanda kutip ("") di yang dihasilkan #include
arahan.

--termasuk-awalan awalan
Add awalan ke yang dihasilkan #include jalur direktif.

--termasuk-regex regex
Add regex ke daftar ekspresi reguler yang digunakan untuk mengubah yang dihasilkan #include
jalur direktif. Argumen untuk opsi ini adalah ekspresi reguler seperti Perl di
formulir /belt hold/penggantian/. Karakter apa pun dapat digunakan sebagai pembatas, bukan
/ dan pembatas dapat diloloskan ke dalam belt hold dan penggantian dengan garis miring terbalik
(\). Anda dapat menentukan beberapa ekspresi reguler dengan mengulangi opsi ini. Semua
ekspresi reguler dicoba dalam urutan yang ditentukan dan ekspresi pertama yang
pertandingan digunakan.

Sebagai contoh, transformasi ekspresi berikut menyertakan jalur dalam bentuk
foo/bar-odb.h ke jalur dalam bentuk foo/dihasilkan/bar-odb.h:

%foo/(.+)-odb.h%foo/generated/$1-odb.h%

Lihat juga bagian REGEX AND SHELL QUOTING di bawah ini.

--termasuk-regex-trace
Lacak proses penerapan ekspresi reguler yang ditentukan dengan --termasuk-
regex pilihan. Gunakan opsi ini untuk mencari tahu mengapa ekspresi reguler Anda tidak berfungsi
apa yang Anda harapkan mereka lakukan.

--awalan-penjaga awalan
Add awalan ke pelindung penyertaan header yang dihasilkan. Awalan diubah menjadi
huruf besar dan karakter yang ilegal dalam nama makro preprosesor adalah
diganti dengan garis bawah.

--tunjukkan-sloc
Cetak jumlah baris kode sumber fisik (SLOC) yang dihasilkan.

--sloc-batas num
Periksa apakah jumlah baris kode sumber fisik (SLOC) yang dihasilkan tidak
melebihi num.

--opsi-file fillet
Baca opsi tambahan dari fillet dengan setiap opsi muncul di baris terpisah
opsional diikuti oleh spasi dan nilai opsi. Garis kosong dan garis mulai
dengan # diabaikan. Nilai opsi dapat diapit dua kali (") atau tunggal (')
tanda kutip untuk mempertahankan spasi putih awal dan akhir serta untuk menentukan kosong
nilai-nilai. Jika nilai itu sendiri berisi tanda kutip akhir atau awalan, sertakan dengan
sepasang kutipan tambahan, misalnya '"x"'. Kutipan non-leading dan non-trailing adalah
ditafsirkan sebagai bagian dari nilai opsi.

Semantik menyediakan opsi dalam file setara dengan menyediakan yang sama
serangkaian opsi dalam urutan yang sama pada baris perintah pada titik di mana
--opsi-file opsi ditentukan kecuali bahwa shell melarikan diri dan mengutip adalah
tidak dibutuhkan. Anda dapat mengulangi opsi ini untuk menentukan lebih dari satu file opsi.

-x Option
Lulus Option ke kompiler C++ yang mendasarinya (g ++). Itu Option nilai yang tidak
dimulai dari - dianggap sebagai g ++ nama yang dapat dieksekusi.

-v Cetak perintah yang dijalankan untuk menjalankan tahapan kompilasi.

--jejak
Lacak proses kompilasi.

--mysql-mesin mesin
penggunaan mesin alih-alih default InnoDB dalam file skema database yang dihasilkan. Untuk
informasi lebih lanjut tentang opsi mesin penyimpanan lihat dokumentasi MySQL. Jika kamu
ingin menggunakan mesin database-default, lulus kegagalan sebagai nilai untuk ini
.

--sqlite-override-null
Buat semua kolom dalam skema basis data yang dihasilkan memungkinkan NULL nilai-nilai. Ini adalah
terutama berguna dalam migrasi skema karena SQLite tidak mendukung penghapusan
kolom. Dengan membuat semua kolom NULL kita nanti dapat "menghapus" mereka dengan mengaturnya
nilai untuk NULL. Perhatikan bahwa opsi ini menimpa bahkan bukan_null pragma.

--sqlite-lax-auto-id
Jangan memaksakan peningkatan id objek yang ditetapkan secara otomatis secara monoton. Di dalam
mode skema database yang dihasilkan menghilangkan PENINGKATAN OTOMATIS kata kunci yang menghasilkan
persistensi objek yang lebih cepat tetapi dapat menyebabkan id yang ditetapkan secara otomatis tidak berada di a
urutan naik secara ketat. Lihat dokumentasi SQLite untuk detailnya.

--pgsql-server-versi ver
Tentukan versi server PostgreSQL minimum yang digunakan untuk menghasilkan kode C++ dan
skema yang akan digunakan. Informasi ini digunakan untuk mengaktifkan versi khusus
optimasi dan solusi dalam kode dan skema C++ yang dihasilkan. Versi
harus dalam utama.minor bentuk, misalnya 9.1. Jika opsi ini tidak ditentukan,
kemudian 7.4 atau lambat diasumsikan.

--Oracle-client-version ver
Tentukan versi perpustakaan klien Oracle (OCI) minimum yang digunakan untuk membuat
Kode C++ akan ditautkan. Informasi ini digunakan untuk mengaktifkan versi khusus
optimasi dan solusi dalam kode C++ yang dihasilkan. Versi harus dalam
itu utama.minor bentuk, misalnya 11.2. Jika opsi ini tidak ditentukan, maka 10.1
atau lambat diasumsikan.

--Oracle-warn-truncation
Peringatkan tentang nama SQL yang lebih panjang dari 30 karakter dan oleh karena itu
terpotong. Perhatikan bahwa selama pembuatan skema database (--generate-skema) ODB
mendeteksi ketika pemotongan tersebut menyebabkan konflik nama dan bahkan masalah diagnostik
tanpa opsi ini ditentukan.

--mssql-server-versi ver
Tentukan versi server SQL Server minimum dengan kode C++ yang dihasilkan dan
skema yang akan digunakan. Informasi ini digunakan untuk mengaktifkan versi khusus
optimasi dan solusi dalam kode dan skema C++ yang dihasilkan. Versi
harus dalam utama.minor bentuk, misalnya 9.0 (SQLServer 2005), 10.5 (2008R2),
or 11.0 (2012). Jika opsi ini tidak ditentukan, maka 10.0 (SQL Server 2008) atau
nanti diasumsikan.

--mssql-batas-pendek ukuran
Tentukan batas ukuran data pendek. Jika karakter, karakter nasional, atau biner
tipe data memiliki panjang maksimum (dalam byte) kurang dari atau sama dengan batas ini, maka itu
diperlakukan sebagai pendek data, jika tidak, itu adalah panjang data. Untuk data pendek ODB pra-
mengalokasikan buffer perantara dengan ukuran maksimum dan mengikatnya langsung ke a
parameter atau kolom hasil. Dengan cara ini API yang mendasari (ODBC) dapat membaca/menulis
langsung dari/ke buffer ini. Dalam kasus data panjang, data dibaca/ditulis
dalam potongan menggunakan SQLGetData()/SQLPutData() fungsi ODBC. Sedangkan data panjang
pendekatan mengurangi jumlah memori yang digunakan oleh aplikasi, mungkin memerlukan
sumber daya CPU yang lebih besar. Batas data pendek default adalah 1024 byte. Saat menyetel
batas data pendek khusus, pastikan itu cukup besar sehingga tidak ada objek
id dalam aplikasi diperlakukan sebagai data yang panjang.

SQL NAMA TRANSFORMASI


Kompiler ODB menyediakan sejumlah mekanisme untuk mengubah turunan otomatis
Nama SQL, seperti tabel, kolom, dll., agar sesuai dengan konvensi penamaan tertentu. Pada
tingkat yang lebih tinggi, kita dapat menambahkan awalan ke nama global (tabel dan, untuk beberapa database, indeks
dan/atau kunci asing) dengan --awalan-tabel pilihan. Demikian pula, kita dapat menentukan custom
akhiran untuk indeks yang diturunkan secara otomatis (--indeks-akhiran; defaultnya adalah _i), kunci asing
(--fkey-akhiran; defaultnya adalah _fk), dan urutan (--urutan-akhiran; defaultnya adalah _seq) nama.
Akhirnya, kami juga dapat mengonversi semua nama menjadi huruf besar atau kecil dengan --sql-nama-kasus
opsi (nilai yang valid adalah atas dan menurunkan).

Pada tingkat yang lebih rendah kita dapat menentukan satu set ekspresi reguler untuk diimplementasikan secara arbitrer
transformasi nama SQL yang diturunkan secara otomatis. Jika kita ingin reguler tertentu
ekspresi hanya untuk diterapkan pada nama tertentu, misalnya, tabel atau kolom, lalu kami menggunakannya
dari --jenis-regex pilihan, dimana jenis dapat tabel, kolom, indeks, kunci fkey, urutan, atau
pernyataan. Di sisi lain, jika kita ingin ekspresi reguler kita diterapkan ke semua SQL
nama, maka kami menggunakan --sql-nama-regex .

Interaksi antara transformasi tingkat yang lebih tinggi dan lebih rendah adalah sebagai berikut. Awalan
dan sufiks ditambahkan terlebih dahulu. Kemudian transformasi ekspresi reguler diterapkan.
Terakhir, jika diminta, nama diubah menjadi huruf besar atau kecil. Perhatikan juga bahwa semua
transformasi ini kecuali untuk --awalan-tabel hanya berlaku untuk nama yang diturunkan secara otomatis.
Dengan kata lain, jika sebuah tabel, kolom, dll., nama secara eksplisit ditentukan dengan pragma,
kemudian digunakan apa adanya, tanpa menerapkan transformasi apa pun (kecuali untuk awalan tabel).

Nilai untuk --*-regex options adalah ekspresi reguler seperti Perl dalam bentuk
/belt hold/penggantian/. Karakter apa pun dapat digunakan sebagai pembatas, bukan / dan
pembatas dapat diloloskan di dalam belt hold dan penggantian dengan garis miring terbalik (\). Kamu bisa
juga tentukan beberapa ekspresi reguler dengan mengulangi opsi ini.

Semua ekspresi reguler dicoba dalam urutan yang ditentukan dengan nama-spesifik
ekspresi (misalnya, --tabel-regex) dicoba dulu diikuti oleh ekspresi generik
(--sql-nama-regex). Ekspresi pertama yang cocok digunakan.

Sebagai contoh, pertimbangkan ekspresi reguler yang mengubah nama kelas dalam bentuk CFoo
ke nama tabel dalam bentuk FOO:

--tabel-regex '/C(.+)/\U$1/'

Sebagai contoh yang lebih menarik, perhatikan transformasi nama kelas yang mengikuti
konvensi huruf besar unta (misalnya, FooBar) ke nama tabel yang mengikuti
garis bawah dipisahkan, semua konvensi huruf besar (misalnya, FOO_BAR). Untuk kasus ini kita
harus menggunakan ekspresi terpisah untuk menangani satu kata, dua kata, dll., nama:

--tabel-regex '/([Az][az]+)/\U$1/'

--tabel-regex '/([Az][az]+)([Az][az]+)/\U$1_$2/'

Lihat juga bagian REGEX AND SHELL QUOTING di bawah ini.

REGEX DAN SHELL KUTIPAN


Saat memasukkan argumen ekspresi reguler di baris perintah shell, seringkali
perlu menggunakan kutipan (menyertakan argumen di " " atau ' ') untuk mencegah
shell dari menafsirkan karakter tertentu, misalnya, spasi sebagai pemisah argumen dan
$ sebagai ekspansi variabel.

Sayangnya sulit untuk mencapai ini dengan cara yang portabel di seluruh shell POSIX,
seperti yang ditemukan di GNU/Linux dan UNIX, dan shell Windows. Misalnya, jika Anda menggunakan " "
untuk mengutip Anda akan mendapatkan hasil yang salah dengan shell POSIX jika ekspresi Anda berisi $.
Cara standar untuk menangani ini pada sistem POSIX adalah dengan menggunakan ' ' sebagai gantinya.
Sayangnya, shell Windows tidak menghapus '' dari argumen saat diteruskan ke
aplikasi. Akibatnya Anda mungkin harus menggunakan ' ' untuk POSIX dan " " untuk Windows ($ tidak
diperlakukan sebagai karakter khusus pada Windows).

Atau, Anda dapat menyimpan opsi ekspresi reguler ke dalam file, satu opsi per baris,
dan gunakan file ini dengan --opsi-file pilihan. Dengan pendekatan ini Anda tidak perlu
khawatir tentang kutipan shell.

DIAGNOSTIK


Jika file input tidak valid C++, ODB akan mengeluarkan pesan diagnostik ke STDERR dan keluar
dengan kode keluar bukan nol.

Gunakan odb online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad




×
iklan
❤️Berbelanja, pesan, atau beli di sini — tanpa biaya, membantu menjaga layanan tetap gratis.