• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 Firebird Python Drivers: Current state and future
 

Firebird Python Drivers: Current state and future

on

  • 1,870 views

This talk will update you on current state of Firebird connectivity for Python (with a surprise!), and plans for future development

This talk will update you on current state of Firebird connectivity for Python (with a surprise!), and plans for future development

Statistics

Views

Total Views
1,870
Views on SlideShare
1,870
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

     Firebird Python Drivers: Current state and future Firebird Python Drivers: Current state and future Presentation Transcript

    • Firebird drivers for Python Pavel Císař IBPhoenix Firebird Conference 2011
    • Agenda
      • Driver 1: KinterbasDB
      • Driver 2: firebirdsql
      • Driver 3: fdb
      • The Future
    • KInterbasDB
      • Current version - 3.3.0
      • Supports: Python 2.6/2.7, Firebird 2.0+
      • Written in Python and C (extension)
      • Extensive list of features
      • Adopted by Firebird Project
    • KinterbasDB - Features
      • Python DB API 2.0 (with extensions)
      • Prepared statements
      • Transactions:
        • Transaction parameters
        • Multiple transactions per connection
        • Distributed transactions
        • Savepoints
        • Retaining
    • KinterbasDB – Features (cont.)
      • Named cursors
      • Parameter conversions:
        • Implicit Conversion of Input Parameters from Strings
        • Dynamic Type Translation with custom translators support
      • Materialized and streamed BLOBs
      • Support for Firebird Arrays
      • Services (but no Trace)
    • KinterbasDB – Features (cont.)
      • Connection timeouts (with user callbacks)
      • Firebird Events
      • Database INFO API
    • KinterbasDB - Shortcomings
      • No Python 3 support
      • Only for CPython
      • Very complex code
      • Backward compatibility baggage
      • No active development
    • firebirdsql
      • Created by Hajime Nakagami
      • Current version: 0.6.3
      • Pure-Python driver on top of Firebird wire protocol
      • Supports: Python 3.0+/2.6+, Firebird 2.0+?
      • Primary development for Python 3/FB 2.5
    • Firebirdsql - Features
      • Supports Python DB API 2.0 (+row_mapping)
      • Multiple transactions per connection, savepoints, retaining
      • Prepared statements
      • Firebird Services, partial: info,backup/restore,sweep,TRACE
      • Potentially works on other Python implementations
      • Unicode/Character set conversions
    • Firebirdsql - Shortcomings
      • No transaction parameters
      • No stored procedures (yet)
      • No RETURNING
      • No streamed BLOBs, No BLOB parameters
      • No Firebird Arrays
      • Only remote server support
      • Limited support for SQL dialect 1
      • Still NOT usable for production
    • fdb
      • Based on old experiment with ctypes module
      • Created for this conference
      • Pure-Python driver on top of Firebird client library (using ctypes)
      • Supports Python 2.6+, Firebird 2.0+
      • Primary development for Python 2.6/FB 2.5
      • Potentially runs on Python 3 and IronPython
    • Fdb - Features
      • Supports Python DB API 2.0 (+row_mapping)
      • Multiple transactions per connection, transaction parameters, savepoints, retaining
      • Unicode/Character set conversions
      • Firebird Services, partial: everything KinterbasDB does (i.e. NO TRACE)
    • Fdb - Shortcomings
      • No stored procedures (yet)
      • No RETURNING
      • No streamed BLOBs
      • No Firebird Arrays
      • No prepared statements
      • NOT production ready, but in many aspects more mature than firebirdsql
    • The Future
      • Finish fdb as drop-in replacement for KinterbasDB
      • Abstract the “inner API”:
        • ctypes implementation
        • wire protocol
      • ...
      • Profit!
    • Questions? Pavel Císař [email_address] IBPhoenix www.ibphoenix.com