• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H03-May-2022-6,8666,539

drivers/example/H12-Mar-2013-736527

include/H03-May-2022-2,1791,743

m4/H12-Mar-2013-8,6157,755

src/H03-May-2022-5,2733,912

AUTHORSH A D21-Mar-20101.8 KiB6544

COPYINGH A D04-Apr-200125.9 KiB516435

ChangeLogH A D12-Mar-20135.3 KiB183114

INSTALLH A D26-Sep-20107.9 KiB197153

Makefile.amH A D26-Sep-2010795 2210

Makefile.inH A D03-May-202227.1 KiB845747

Makefile.w32H A D28-Mar-20031.2 KiB5435

NEWSH A D12-Mar-20138.8 KiB244186

READMEH A D03-Feb-20135.7 KiB160114

README.osxH A D03-Feb-20131.1 KiB3622

README.win32H A D03-Feb-20133.6 KiB11679

TODOH A D13-Jan-2004950 3727

UPGRADINGH A D03-Feb-2013426 74

aclocal.m4H A D03-Feb-201336.4 KiB1,030925

autogen.shH A D21-Mar-2010769 2915

config.guessH A D18-Feb-201241.1 KiB1,4081,211

config.h.inH A D20-Feb-20114.1 KiB163116

config.subH A D18-Feb-201229.6 KiB1,5051,364

configureH A D03-May-2022427.9 KiB14,89712,358

configure.inH A D03-Feb-20137 KiB235198

dbi.pc.inH A D29-Feb-2008244 119

depcompH A D18-Feb-201218.2 KiB631407

install-shH A D18-Feb-201213.3 KiB521344

libdbi.spec.inH A D28-Mar-20031.8 KiB8066

ltmain.shH A D03-Feb-2013278 KiB9,7077,345

missingH A D18-Feb-201211.2 KiB377281

README

1
2libdbi - Database Independent Abstraction Layer for C
3Copyright (C) 2001-2013, David Parker, Mark Tobenkin, Markus Hoenicka.
4http://libdbi.sourceforge.net
5
6
7INTRODUCTION:
8-------------
9
10libdbi implements a database-independent abstraction layer in C, similar to the
11DBI/DBD layer in Perl. Writing one generic set of code, programmers can
12leverage the power of multiple databases and multiple simultaneous database
13connections by using this framework.
14
15The plugin architecture allows for new database drivers to be easily added by a
16third party with flexbile licensing. See the libdbi-drivers project
17(http://libdbi-drivers.sourceforge.net) for the drivers officially
18supported by libdbi.
19
20        *** The libdbi sources do not contain any drivers ***
21
22The framework and the drivers have to use the same internal API
23version. Starting from libdbi version 0.8.0, the major version number
24(in this case 0.8) denotes the API version. Any libdbi release 0.8.x
25will work with any libdbi-drivers release 0.8.x. 'x' will be
26incremented independently and denotes bugfix or upgrade releases that
27do not change the internal API.
28
29
30INSTALLATION:
31-------------
32
33Perform the regular ./configure, make, make install. See INSTALL for the
34generic details of each step. See ./configure --help for more libdbi
35configuration options.
36
37If you are building libdbi on Win32, see README.win32.
38If you are building libdbi on OSX, see README.osx.
39
40
41FEATURES:
42---------
43
44 * Database-level abstraction:
45   Your programs don't need to deal with the arbitrary interfaces and oddities
46   of each database library. libdbi handles all the details for you, you just
47   tell it what you want the database to do.
48
49 * Modularity:
50   Since database code written with libdbi is not tied to one specific database
51   server, you can effortlessly switch databases or give your users the option
52   to specify their own database settings.
53
54 * Clean interface:
55   With ample documentation describing libdbi and its well thought out
56   object-oriented design, programming with libdbi should be less painful than
57   programming with native database libraries. And you only need to learn it
58   once instead of learning each database library's syntax.
59
60 * Accommodates coder apathy:
61   libdbi is written to do The Right Thing(tm), not just some quick hack that
62   does the job in a half-assed fashion. This saves tons of your $100/hour time
63   from debugging, so that you can mess around having fun during the hours that
64   clients are paying you to debug.  It also strives to reduce the worldwide
65   crisis of carpal tunnel syndrome, so it uses constructs such as this one to
66   pack multiple function calls into one line, saving you the bother of typing
67   more than you have to:
68   dbi_result_get_fields(result, "id.%i firstname.%s lastname.%s fractional_value.%f", &id, &firstname, &lastname, &floatval);
69
70 * Plugin interface:
71   The dynamic linking used by libdbi allows for driver authors to license
72   their drivers however they please - they are not restricted to the GPL or
73   LGPL. Drivers are easy to write, and require no special installation.
74
75 * Error handling:
76   Instead of checking every single database call for errors, libdbi gives
77   programmers the option of registering an error handler callback, similar to
78   a signal handler. Because we know you'll "forget" to check for errors
79   otherwise :)
80
81 * Convenience:
82   Spend your time writing clever code, not reinventing the wheel with your own
83   single-use, #define-abusing, less featureful database interface.
84
85
86SUPPORTED PLATFORMS:
87--------------------
88
89libdbi has been written with cross-platform availability in mind. To date, it
90has been successfully tested with:
91
92Linux: Debian, RedHat/Fedora Core, Slackware, Gentoo
93Windows: 98, NT4, 2000, XP
94FreeBSD: 4.3 through 9.0
95SunOS: 2.8
96Solaris: 7, 10
97AIX: 4.2, 4.3 and 5.1
98OS X: 10.2-10.4.9
99
100If you are using libdbi on a platform not listed here, please notify the
101mailing list! (see below)
102
103
104MODIFICATIONS AND REDISTRIBUTION (LGPL):
105----------------------------------------
106
107This library is free software; you can redistribute it and/or modify it under
108the terms of the GNU Lesser General Public License as published by the Free
109Software Foundation; either version 2 of the License, or (at your option) any
110later version.
111
112This library is distributed in the hope that it will be useful, but WITHOUT ANY
113WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
114PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
115details.
116
117See the file COPYING or http://www.gnu.org for more details.
118
119
120DOCUMENTATION:
121--------------
122
123If you want to write programs that use libdbi to access database
124engines, please see the Libdbi Programmer's Guide in the doc/
125directory. It is provided in PDF and HTML formats. This API reference
126also includes example source code and a quickstart guide to using
127libdbi.
128
129If you want to write a driver for a database engine not yet supported
130by libdbi, please see the Driver's Guide in the doc/ directory.
131
132
133MAILING LISTS:
134--------------
135
136http://libdbi.sourceforge.net/maillists.php
137
138 * libdbi-users: libdbi-users@lists.sourceforge.net
139   Go here if you have any general questions, ideas, or problems with using
140   libdbi in your program.
141
142 * libdbi-devel: libdbi-devel@lists.sourceforge.net
143   Discussion about development of the core library and DBD interface.
144
145 * libdbi-cvs: libdbi-cvs@lists.sourceforge.net
146   Automated CVS diffs and log entries are sent to this address. Subscribe
147   here if you want to track libdbi's progress at the source-code level.
148
149
150CONTACT INFO:
151-------------
152
153http://libdbi.sourceforge.net
154Markus Hoenicka <mhoenicka@users.sourceforge.net>
155David A. Parker <david@neongoat.com>
156Mark M. Tobenkin <mark@brentwoodradio.com>
157
158$Id: README,v 1.17 2013/02/03 22:38:31 mhoenicka Exp $
159
160

README.osx

1
2libdbi - Database Independent Abstraction Layer for C
3Copyright (C) 2001-2013, David Parker, Mark Tobenkin, and Markus Hoenicka.
4http://libdbi.sourceforge.net
5
6
7OS X-SPECIFIC INSTALLATION INSTRUCTIONS:
8----------------------------------------
9
10LIBTOOLIZE=glibtoolize ./autogen.sh
11./configure
12make
13sudo make install
14
15If openjade is not available, add '--disable-docs' to configure's options.
16
17
18MODIFICATIONS AND REDISTRIBUTION (LGPL):
19----------------------------------------
20
21This library is free software; you can redistribute it and/or modify it under
22the terms of the GNU Lesser General Public License as published by the Free
23Software Foundation; either version 2 of the License, or (at your option) any
24later version.
25
26This library is distributed in the hope that it will be useful, but WITHOUT ANY
27WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
28PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
29details.
30
31See the file COPYING or http://www.gnu.org for more details.
32
33
34$Id: README.osx,v 1.5 2013/02/03 22:38:31 mhoenicka Exp $
35
36

README.win32

1
2libdbi - Database Independent Abstraction Layer for C
3Copyright (C) 2001-2013, David Parker, Mark Tobenkin, and Markus Hoenicka.
4http://libdbi.sourceforge.net
5
6WINDOWS-SPECIFIC INSTALLATION INSTRUCTIONS
7==========================================
8
9libdbi can be compiled on any 32bit Windows platform. There's two
10different methods. Choose the one that better suits your needs.
11
121) Cygwin
13
14The Cygwin tools (http://www.cygwin.com/) add a POSIX layer to Windows
15and provide, by shipping a comprehensive selection of familiar Unix
16tools including bash and X.org, the cozy environment of a Unix
17box. Choose Cygwin if you want to port Unix applications to Win32 with
18the least amount of code changes. All Cygwin applications need at
19least access to the cygwin1.dll which translates the Unix API calls
20into Win32 API calls at runtime. libdbi drivers require the Cygwin
21versions of their client libraries.
22
232) Mingw
24
25The Mingw environment (http://www.mingw.org) provide a minimal GNU
26environment on Windows. Choose Mingw if you want to build native Win32
27applications that do not depend on other third-party libraries. libdbi
28drivers require the native Win32 versions of their client libraries.
29
30
311. WINDOWS-SPECIFIC INSTALLATION INSTRUCTIONS FOR CYGWIN:
32---------------------------------------------------------
33
34libdbi can be compiled into DLL files on Win32 with
35the Cygwin package, available at http://www.cygwin.com/. How much
36bending over backwards is required depends on the versions of your
37Cygwin installation. As of this writing, the following version numbers
38were all fresh:
39
40base-files-3.5.1
41binutils-20050610
42cygwin-1.5.18
43gcc-3.4.4
44libtool-1.5b
45
46With these tools, the Unix trinity is all it takes:
47./configure
48make
49make install
50
51If this procedure fails to create the file
52
53/usr/local/bin/cygdbi-0.dll
54
55you most likely run older versions of the Cygwin tools. You're not
56lost, though. Run the following commands and you should be all set:
57
58make -f Makefile.w32
59make -f Makefile.w32 install
60
61The name of the dll file will be different from the one above, but it
62is going to work anyway.
63
64
65USAGE:
66------
67
68Once libdbi is compiled for Win32 and you have a DLL, you can use that DLL like
69any other. The only requirement is that the Cygwin runtime DLL is available on
70the target machine also, since non-Windows API functions are implemented by
71Cygwin.
72
73
742. WINDOWS-SPECIFIC INSTALLATION INSTRUCTIONS FOR MINGW+MSYS:
75-------------------------------------------------------------
76libdbi can be compiled into static library libdbi.a on Win32 with
77the Mingw and MSys packages, available at http://www.mingw.org
78
79	(say, libdbi-x.x.x.tar.gz distribution is in C: drive.)
80	cd /usr/local/src
81	cp /c/libdbi-x.x.x.tar.gz .
82	tar xvzf libdbi-x.x.x.tar.gz
83	cd libdbi-x.x.x
84	./configure --prefix=/usr
85	make
86	make install
87
88
89MSYS DETAILS:
90---------------
91
92Download (from www.mingw.org) and install mingw, msys and msysDTK
93(not essentially required, but recommended) from http://www.mingw.org.
94
95
96
97
98MODIFICATIONS AND REDISTRIBUTION (LGPL):
99----------------------------------------
100
101This library is free software; you can redistribute it and/or modify it under
102the terms of the GNU Lesser General Public License as published by the Free
103Software Foundation; either version 2 of the License, or (at your option) any
104later version.
105
106This library is distributed in the hope that it will be useful, but WITHOUT ANY
107WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
108PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
109details.
110
111See the file COPYING or http://www.gnu.org for more details.
112
113
114$Id: README.win32,v 1.8 2013/02/03 22:38:31 mhoenicka Exp $
115
116