Class: SQLite3::Backup
- Inherits:
-
Object
- Object
- SQLite3::Backup
- Defined in:
- lib/sqlite3/ffi/backup.rb
Instance Method Summary collapse
- #finish ⇒ Object
-
#initialize(dstdb, dstname, srcdb, srcname) ⇒ Backup
constructor
A new instance of Backup.
- #pagecount ⇒ Object
- #remaining ⇒ Object
- #step(n_page) ⇒ Object
Constructor Details
#initialize(dstdb, dstname, srcdb, srcname) ⇒ Backup
Returns a new instance of Backup.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/sqlite3/ffi/backup.rb', line 3 def initialize(dstdb, dstname, srcdb, srcname) if srcdb.closed? raise ArgumentError, "cannot backup from a closed database" end if dstdb.closed? raise ArgumentError, "cannot backup to a closed database" end ddb = dstdb.instance_variable_get(:@db) @p = FFI::CApi.sqlite3_backup_init( ddb, FFI.string_value(dstname), srcdb.instance_variable_get(:@db), FFI.string_value(srcname) ) if @p.null? FFI.check(ddb, FFI::CApi.sqlite3_errcode(ddb)) end end |
Instance Method Details
#finish ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/sqlite3/ffi/backup.rb', line 31 def finish require_open_backup FFI::CApi.sqlite3_backup_finish(@p) @p = nil nil end |
#pagecount ⇒ Object
45 46 47 48 49 |
# File 'lib/sqlite3/ffi/backup.rb', line 45 def pagecount require_open_backup FFI::CApi.sqlite3_backup_pagecount(@p) end |
#remaining ⇒ Object
39 40 41 42 43 |
# File 'lib/sqlite3/ffi/backup.rb', line 39 def remaining require_open_backup FFI::CApi.sqlite3_backup_remaining(@p) end |
#step(n_page) ⇒ Object
25 26 27 28 29 |
# File 'lib/sqlite3/ffi/backup.rb', line 25 def step(n_page) require_open_backup FFI::CApi.sqlite3_backup_step(@p, n_page) end |