ydbi 0.5.7 → 0.5.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +4 -0
- data/lib/dbi/version.rb +1 -1
- data/readme.md +4 -3
- data/test/dbi/tc_dbi.rb +1 -1
- metadata +7 -125
- data/.github/workflows/ruby.yml +0 -35
- data/.gitignore +0 -8
- data/.travis.yml +0 -15
- data/Gemfile +0 -5
- data/Rakefile +0 -10
- data/TODO +0 -44
- data/bench/bench.rb +0 -79
- data/build/rake_task_lib.rb +0 -186
- data/doc/DBD_SPEC.rdoc +0 -88
- data/doc/DBI_SPEC.rdoc +0 -157
- data/doc/homepage/contact.html +0 -62
- data/doc/homepage/development.html +0 -124
- data/doc/homepage/index.html +0 -83
- data/doc/homepage/ruby-dbi.css +0 -91
- data/lib/dbd/Mysql.rb +0 -137
- data/lib/dbd/ODBC.rb +0 -89
- data/lib/dbd/Pg.rb +0 -188
- data/lib/dbd/SQLite.rb +0 -97
- data/lib/dbd/SQLite3.rb +0 -124
- data/lib/dbd/mysql/database.rb +0 -405
- data/lib/dbd/mysql/driver.rb +0 -125
- data/lib/dbd/mysql/statement.rb +0 -188
- data/lib/dbd/odbc/database.rb +0 -128
- data/lib/dbd/odbc/driver.rb +0 -38
- data/lib/dbd/odbc/statement.rb +0 -137
- data/lib/dbd/pg/database.rb +0 -504
- data/lib/dbd/pg/exec.rb +0 -47
- data/lib/dbd/pg/statement.rb +0 -160
- data/lib/dbd/pg/tuples.rb +0 -121
- data/lib/dbd/pg/type.rb +0 -209
- data/lib/dbd/sqlite/database.rb +0 -151
- data/lib/dbd/sqlite/statement.rb +0 -125
- data/lib/dbd/sqlite3/database.rb +0 -201
- data/lib/dbd/sqlite3/statement.rb +0 -78
- data/prototypes/types2.rb +0 -237
- data/setup.rb +0 -1585
- data/test/DBD_TESTS +0 -50
- data/test/TESTING +0 -16
- data/test/dbd/general/test_database.rb +0 -206
- data/test/dbd/general/test_statement.rb +0 -326
- data/test/dbd/general/test_types.rb +0 -296
- data/test/dbd/mysql/base.rb +0 -26
- data/test/dbd/mysql/down.sql +0 -19
- data/test/dbd/mysql/test_blob.rb +0 -18
- data/test/dbd/mysql/test_new_methods.rb +0 -7
- data/test/dbd/mysql/test_patches.rb +0 -111
- data/test/dbd/mysql/up.sql +0 -28
- data/test/dbd/odbc/base.rb +0 -30
- data/test/dbd/odbc/down.sql +0 -19
- data/test/dbd/odbc/test_new_methods.rb +0 -12
- data/test/dbd/odbc/test_ping.rb +0 -10
- data/test/dbd/odbc/test_statement.rb +0 -44
- data/test/dbd/odbc/test_transactions.rb +0 -58
- data/test/dbd/odbc/up.sql +0 -33
- data/test/dbd/postgresql/base.rb +0 -31
- data/test/dbd/postgresql/down.sql +0 -31
- data/test/dbd/postgresql/test_arrays.rb +0 -179
- data/test/dbd/postgresql/test_async.rb +0 -121
- data/test/dbd/postgresql/test_blob.rb +0 -36
- data/test/dbd/postgresql/test_bytea.rb +0 -87
- data/test/dbd/postgresql/test_ping.rb +0 -10
- data/test/dbd/postgresql/test_timestamp.rb +0 -77
- data/test/dbd/postgresql/test_transactions.rb +0 -58
- data/test/dbd/postgresql/testdbipg.rb +0 -307
- data/test/dbd/postgresql/up.sql +0 -60
- data/test/dbd/sqlite/base.rb +0 -32
- data/test/dbd/sqlite/test_database.rb +0 -30
- data/test/dbd/sqlite/test_driver.rb +0 -68
- data/test/dbd/sqlite/test_statement.rb +0 -112
- data/test/dbd/sqlite/up.sql +0 -25
- data/test/dbd/sqlite3/base.rb +0 -32
- data/test/dbd/sqlite3/test_database.rb +0 -77
- data/test/dbd/sqlite3/test_driver.rb +0 -67
- data/test/dbd/sqlite3/test_statement.rb +0 -88
- data/test/dbd/sqlite3/up.sql +0 -33
- data/test/ts_dbd.rb +0 -131
- data/ydbi.gemspec +0 -23
data/doc/DBD_SPEC.rdoc
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
= DBD Specification Version 0.4.0
|
2
|
-
By Erik Hollensbe <erik@hollensbe.org>
|
3
|
-
|
4
|
-
== FOREWORD
|
5
|
-
|
6
|
-
DBI is still in a large state of flux. Previous versions of this
|
7
|
-
specification rarely reflected reality, and the 0.4.0 release is an
|
8
|
-
attempt to get the code and documentation in touch with each other to
|
9
|
-
better reflect said reality.
|
10
|
-
|
11
|
-
While this is a goal, nobody's perfect and there is still a lot of
|
12
|
-
code to check, sanitize, and otherwise clean up. If you find something
|
13
|
-
missing in these specifications while working on a new DBD or a patch
|
14
|
-
for DBI, please, do not do what everything else is doing; alert the
|
15
|
-
appropriate person to get the spec revised. Doing this will save
|
16
|
-
yourself (and the DBI authors) infinite amounts of time.
|
17
|
-
|
18
|
-
== WHAT A DBD IS
|
19
|
-
|
20
|
-
DBD stands for "DataBase Driver" and is the layer that DBI uses to interface
|
21
|
-
with the database. DBDs often employ a low level driver to do the real work
|
22
|
-
with the database, leaving the DBD itself to act as a medium between DBI and
|
23
|
-
that lower level API.
|
24
|
-
|
25
|
-
This allows a great deal of flexibility without having to sacrifice features
|
26
|
-
for compatibility. For example, instead of having one PostgreSQL DBD that
|
27
|
-
handles all version of PostgreSQL and attempts to limit it's functionality
|
28
|
-
based on what version it detects (a error-prone and time/design prohibitive
|
29
|
-
process), one can write two PostgreSQL DBD that handle the differences between
|
30
|
-
"new" and "old" postgres, all while talking to the same low-level driver (yet
|
31
|
-
leveraging different functionality). This method leads to cleaner internals and
|
32
|
-
puts the choice of which to use on the end-user, who is probably a lot more
|
33
|
-
informed about what features they want than your code.
|
34
|
-
|
35
|
-
One traditionally loads a DBD using the DBI.connect method (see DBD LOAD
|
36
|
-
PATHS below) which will attempt to load the DBD, connect to the database with
|
37
|
-
the arguments supplied and return a DatabaseHandle if successful. However, if
|
38
|
-
the DBD is written properly, requiring it directly without DBI's involvement
|
39
|
-
(or existence) should not be an issue.
|
40
|
-
|
41
|
-
== WHERE DBDs LIVE
|
42
|
-
|
43
|
-
DBDs have an expected require path to be loaded by DBI. DBI will attempt to
|
44
|
-
load the middle portion of the DBI.connect DSN provided.
|
45
|
-
|
46
|
-
Example: DBI.connect("dbi:Mysql:mydb") # requires 'dbd/Mysql'
|
47
|
-
|
48
|
-
Since rubygems potentially renders this path virtual, it is not OK to expect
|
49
|
-
this path physically exists in one spot on the filesystem. Many assuptions are
|
50
|
-
currently made about this and will be pruned in 0.6.0.
|
51
|
-
|
52
|
-
If you wish to create submodules for your DBD, create a directory in the 'dbd'
|
53
|
-
directory named the same as the DBD. (E.g., "dbd/Mysql" would have a directory
|
54
|
-
with files in it relating to the Mysql.rb file that DBI loads).
|
55
|
-
|
56
|
-
== HOW DBI INTERFACES WITH YOUR DBD
|
57
|
-
|
58
|
-
Your DBD will create classes representing a DBI::BaseDriver, DBI::BaseDatabase,
|
59
|
-
and DBI::BaseStatement. DBI will link these to DBI::DriverHandle,
|
60
|
-
DBI::DatabaseHandle, and DBI::StatementHandle respectively. Your classes will
|
61
|
-
be called by the Handle classes to retreive information to manipulate and send
|
62
|
-
to the user. This manipulation can be influenced in a number of ways.
|
63
|
-
|
64
|
-
It is strongly recommended you make the effort to read the RDoc for all six
|
65
|
-
of these classes, as they are the meat of this specification, not this
|
66
|
-
document.
|
67
|
-
|
68
|
-
== BUILDING A DBD FROM SCRATCH
|
69
|
-
|
70
|
-
For the purposes of this discussion, we'll call your driver 'Foo'.
|
71
|
-
|
72
|
-
Create your module, DBI::DBD::Foo. Store it somewhere in your load path under
|
73
|
-
dbd/Foo.rb.
|
74
|
-
|
75
|
-
Create classes Driver, Database, and Statement in this new namespace, which
|
76
|
-
inherit from DBI::BaseDriver, DBI::BaseDatabase, and DBI::BaseStatement.
|
77
|
-
Override (at mininum) the methods that return NotImplementedError in your new
|
78
|
-
classes.
|
79
|
-
|
80
|
-
Create a method in the root namespace named +driver_name+. This should return a
|
81
|
-
string with a short name for your driver, this key will be used in type
|
82
|
-
conversion.
|
83
|
-
|
84
|
-
Everything else is up to you, up to and including worrying about interacting
|
85
|
-
with the database.
|
86
|
-
|
87
|
-
At this point, you should be ready to test your driver. See test/DBD_TESTS for
|
88
|
-
information on how to configure that.
|
data/doc/DBI_SPEC.rdoc
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
= DBI Interface Spec, for version 0.4.0
|
2
|
-
|
3
|
-
by Erik Hollensbe <erik@hollensbe.org>
|
4
|
-
|
5
|
-
== Foreword
|
6
|
-
|
7
|
-
DBI is still in a large state of flux. Previous versions of this
|
8
|
-
specification rarely reflected reality, and the 0.4.0 release is an
|
9
|
-
attempt to get the code and documentation more in sync.
|
10
|
-
|
11
|
-
While this is the goal, there is still a lot of
|
12
|
-
code to check, sanitize, and otherwise clean up. If you find something
|
13
|
-
missing in these specifications while working on a new DBD or a patch
|
14
|
-
for DBI, please bring it to our attention (in IRC or on the mailing list)
|
15
|
-
to get the spec revised. Doing this will save
|
16
|
-
yourself (and the DBI authors) a lot of time.
|
17
|
-
|
18
|
-
== Design
|
19
|
-
|
20
|
-
With DBI, there are the concepts of driver, database, and statement. The core
|
21
|
-
functionality for these concepts is provided by a database driver, or
|
22
|
-
DBD. DBI controls one or more drivers at once, a driver has databases, a
|
23
|
-
database may have statements.
|
24
|
-
|
25
|
-
DBI uses a delegation model to communicate with its DBDs through a
|
26
|
-
series of handles. When a connection to a database is requested, DBI contacts
|
27
|
-
the appropriate DBD and builds a handle in
|
28
|
-
its name that it aligns with a DBI base class for that concept. The
|
29
|
-
handle provided by the DBD is the first-class method of communication,
|
30
|
-
otherwise it resorts to calling the base class methods. This allows
|
31
|
-
DBI to provide a level of consistency unless the DBD author finds it
|
32
|
-
otherwise unnecessary.
|
33
|
-
|
34
|
-
For example: DBI will provide handy methods like fetch_all and
|
35
|
-
fetch_scroll which all leverage the fetch method in the base class,
|
36
|
-
and the fetch method must be implemented by the DBD. However, the DBD
|
37
|
-
may have an internal representation of fetch_scroll (as is the case
|
38
|
-
with the ODBC driver) that may be more suited to direct use, and
|
39
|
-
therefore DBI will never see the base class method. This is similar to
|
40
|
-
inheritance, but there is a distinct disconnect between the handles
|
41
|
-
and the base classes, intentionally so. This way the DBDs have no
|
42
|
-
access to the base class and DBI does all the delegation work. Also,
|
43
|
-
DBI has no idea what the DBD is doing underneath, nor does it need to
|
44
|
-
care as long as valid data is returned.
|
45
|
-
|
46
|
-
== Classes
|
47
|
-
|
48
|
-
These are the classes that make up the core of DBI and provide
|
49
|
-
various functionality:
|
50
|
-
|
51
|
-
=== DBI
|
52
|
-
Core module, responsible for everything underneath it, kickstarting
|
53
|
-
connections and loading drivers.
|
54
|
-
|
55
|
-
=== DBI::Row
|
56
|
-
|
57
|
-
Responsible for representing the result set and managing the type
|
58
|
-
conversion of the result set.
|
59
|
-
|
60
|
-
=== DBI::Utils
|
61
|
-
|
62
|
-
Utility methods which propogate through the rest of DBI.
|
63
|
-
|
64
|
-
=== DBI::SQL
|
65
|
-
|
66
|
-
Utility methods for working with SQL queries. Includes a
|
67
|
-
driver-independent SQL bind manager.
|
68
|
-
|
69
|
-
=== DBI::ColumnInfo
|
70
|
-
|
71
|
-
Responsible for representing the information per column for both
|
72
|
-
queries and table descriptions.
|
73
|
-
|
74
|
-
=== DBI::Type
|
75
|
-
|
76
|
-
Namespace for typecasting classes. These classes are provided with a
|
77
|
-
parse method which converts them to a native Ruby type from a string.
|
78
|
-
|
79
|
-
=== DBI::TypeUtil
|
80
|
-
|
81
|
-
The inverse of DBI::Type, this provides functionality to turn native
|
82
|
-
Ruby types into a representation suitable for the DBD's queries.
|
83
|
-
|
84
|
-
=== DBI::Binary
|
85
|
-
|
86
|
-
The representation of a BLOB/CLOB in a Ruby object. This will
|
87
|
-
eventually be rolled into DBI::Type::, but remains here currently for
|
88
|
-
compatibility purposes.
|
89
|
-
|
90
|
-
=== DBI::Base* and DBI::*Handle
|
91
|
-
|
92
|
-
Please see the Design section above for the description of these modules.
|
93
|
-
|
94
|
-
== Exceptions
|
95
|
-
|
96
|
-
DBI has a slew of custom exceptions it uses to control program flow,
|
97
|
-
and alert the user to specific classes of problems.
|
98
|
-
|
99
|
-
They currently all live in the DBI namespace, although it's expected
|
100
|
-
that there will eventually be an exception namespace.
|
101
|
-
|
102
|
-
=== DBI::Warning < RuntimeError
|
103
|
-
For important warnings such as data truncation, etc.
|
104
|
-
|
105
|
-
=== DBI::Error < RuntimeError
|
106
|
-
Base class of all other error exceptions.
|
107
|
-
Rescue this to rescue all DBI errors.
|
108
|
-
|
109
|
-
=== DBI::InterfaceError < DBI::Error
|
110
|
-
Exception for errors related to the DBI interface rather
|
111
|
-
than the database itself.
|
112
|
-
|
113
|
-
=== DBI::NotImplementedError < DBI::InterfaceError
|
114
|
-
Exception raised if the DBD driver has not specified
|
115
|
-
a mandatory method.
|
116
|
-
|
117
|
-
=== DBI::DatabaseError < DBI::Error
|
118
|
-
Exception for errors related to the database.
|
119
|
-
|
120
|
-
Has three attributes: ((|err|)), ((|errstr|)) and ((|state|)).
|
121
|
-
|
122
|
-
=== DBI::DataError < DBI::DatabaseError
|
123
|
-
Exception for errors due to problems with the processed
|
124
|
-
data, such as division by zero, numeric value out of range, etc.
|
125
|
-
|
126
|
-
=== DBI::OperationalError < DBI::DatabaseError
|
127
|
-
Exception for errors related to the database's operation which
|
128
|
-
are not necessarily under the control of the programmer. This would include
|
129
|
-
such things as unexpected disconnection, failure to find a datasource name,
|
130
|
-
failure to process a transaction, memory allocation errors, etc.
|
131
|
-
|
132
|
-
=== DBI::IntegrityError < DBI::DatabaseError
|
133
|
-
Exception raised when the relational integrity of the database
|
134
|
-
is affected, such as when a foreign key constraint is violated.
|
135
|
-
|
136
|
-
=== DBI::InternalError < DBI::DatabaseError
|
137
|
-
Exception raised when the database encounters an internal error,
|
138
|
-
such as a cursor not being valid anymore, or a transaction going out of
|
139
|
-
sync.
|
140
|
-
|
141
|
-
=== DBI::ProgrammingError < DBI::DatabaseError
|
142
|
-
Exception raised for programming errors, e.g., table not found
|
143
|
-
or already exists, syntax error in SQL statement, wrong number
|
144
|
-
of parameters specified, etc.
|
145
|
-
|
146
|
-
=== DBI::NotSupportedError < DBI::DatabaseError
|
147
|
-
Raised if, e.g., ((<commit>)) is called for a database that does not
|
148
|
-
support transactions.
|
149
|
-
|
150
|
-
== API
|
151
|
-
|
152
|
-
To save my sanity, I have joined the specification and the rdoc for
|
153
|
-
DBI. Please review the specification there.
|
154
|
-
|
155
|
-
If you wish to author your own DBD, please see DBD_SPEC.rdoc,
|
156
|
-
which is a more in-depth view of the communication between DBI and
|
157
|
-
DBDs.
|
data/doc/homepage/contact.html
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>
|
6
|
-
<title>Ruby/DBI - Direct database access layer for Ruby</title>
|
7
|
-
<link rel="stylesheet" type="text/css" href="ruby-dbi.css"/>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
<div class="body-container">
|
11
|
-
<h1>Ruby/DBI - Contact Information</h1>
|
12
|
-
<div class="main-container">
|
13
|
-
<div class="nav-container">
|
14
|
-
<h1>Links</h1>
|
15
|
-
<a href="index.html">Home</a>
|
16
|
-
<a href="http://rubyforge.org/projects/ruby-dbi">RubyForge Project</a>
|
17
|
-
<a href="http://ruby-dbi.rubyforge.org/rdoc/index.html">RDoc</a>
|
18
|
-
<a href="development.html">Developer Information</a>
|
19
|
-
<a href="http://www.kitebird.com/articles/ruby-dbi.html">Ruby/DBI Tutorial</a>
|
20
|
-
<a href="contact.html">Contact/Reporting Bugs</a>
|
21
|
-
</div>
|
22
|
-
<p>
|
23
|
-
If you'd like to contact us to report a bug or submit a patch,
|
24
|
-
please use the <a
|
25
|
-
href="http://rubyforge.org/tracker/?group_id=234">tracker</a>
|
26
|
-
on RubyForge.
|
27
|
-
</p>
|
28
|
-
|
29
|
-
<p>
|
30
|
-
If you'd like to ask questions about using Ruby/DBI, there is a
|
31
|
-
<a href="http://rubyforge.org/mailman/listinfo/ruby-dbi-users">ruby-dbi-users</a> email list where those questions
|
32
|
-
can be answered. Likewise, <a
|
33
|
-
href="http://rubyforge.org/mailman/listinfo/ruby-dbi-bugs">ruby-dbi-bugs</a>
|
34
|
-
is for discussing bug reports in detail, and <a
|
35
|
-
href="http://rubyforge.org/mailman/listinfo/ruby-dbi-devel-new">ruby-dbi-devel-new</a> is for discussing future
|
36
|
-
development and management of the project.
|
37
|
-
</p>
|
38
|
-
|
39
|
-
<p>
|
40
|
-
If you're an irc user, the <b>#ruby-dbi</b> irc channel on
|
41
|
-
<b>freenode</b> will get you in touch with developers and
|
42
|
-
advanced users.
|
43
|
-
</p>
|
44
|
-
|
45
|
-
<p>
|
46
|
-
If these avenues are not working for you for some reason,
|
47
|
-
please feel free to contact <a
|
48
|
-
href="mailto:erik-at-hollensbe-dot-org">Erik</a>
|
49
|
-
directly. He will be glad to help!
|
50
|
-
</p>
|
51
|
-
</div>
|
52
|
-
<br />
|
53
|
-
<br />
|
54
|
-
<div class="copyright">
|
55
|
-
©2008 Erik Hollensbe, all rights reserved. Please see the
|
56
|
-
README file for the full copyright notice. Please see the
|
57
|
-
LICENSE file in the source package for information on
|
58
|
-
redistributing the source or any of the site content.
|
59
|
-
</div>
|
60
|
-
</div>
|
61
|
-
</body>
|
62
|
-
</html>
|
@@ -1,124 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>
|
6
|
-
<title>Ruby/DBI - Direct database access layer for Ruby</title>
|
7
|
-
<link rel="stylesheet" type="text/css" href="ruby-dbi.css"/>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
<div class="body-container">
|
11
|
-
<h1>Ruby/DBI - Development Information</h1>
|
12
|
-
<div class="main-container">
|
13
|
-
<div class="nav-container">
|
14
|
-
<h1>Links</h1>
|
15
|
-
<a href="index.html">Home</a>
|
16
|
-
<a href="http://rubyforge.org/projects/ruby-dbi">RubyForge Project</a>
|
17
|
-
<a href="http://ruby-dbi.rubyforge.org/rdoc/index.html">RDoc</a>
|
18
|
-
<a href="development.html">Developer Information</a>
|
19
|
-
<a href="http://www.kitebird.com/articles/ruby-dbi.html">Ruby/DBI Tutorial</a>
|
20
|
-
<a href="contact.html">Contact/Reporting Bugs</a>
|
21
|
-
</div>
|
22
|
-
<p>
|
23
|
-
Regarding patches, please consider these issues:
|
24
|
-
<br />
|
25
|
-
<ul>
|
26
|
-
<li>
|
27
|
-
If your patch does not contain tests, it better be
|
28
|
-
very compelling, as someone else will be forced to
|
29
|
-
write them.
|
30
|
-
</li>
|
31
|
-
<li>
|
32
|
-
Please ensure your patch addresses the whole
|
33
|
-
problem space. If it's a patch for DBI, makes sure it
|
34
|
-
works with <b>all</b> DBDs. Likewise, if it is DBD
|
35
|
-
scope, it should handle all versions of the database
|
36
|
-
that DBD supports.
|
37
|
-
</li>
|
38
|
-
<li>
|
39
|
-
Please follow the existing formatting in the
|
40
|
-
files. Check your diffs to see that you aren't
|
41
|
-
generating patches with tons of formatting-only
|
42
|
-
changes.
|
43
|
-
</li>
|
44
|
-
<li>
|
45
|
-
If you plan a series of patches, consider setting
|
46
|
-
up a git repository, or merging your patches before
|
47
|
-
you submit them.
|
48
|
-
</li>
|
49
|
-
</ul>
|
50
|
-
<br />
|
51
|
-
</p>
|
52
|
-
<p>
|
53
|
-
Regarding bug reports, please consider these issues:
|
54
|
-
<br />
|
55
|
-
<ul>
|
56
|
-
<li>
|
57
|
-
Use the tracker if you can. Posting to the lists or
|
58
|
-
a private email is ok, but if it's multipart or
|
59
|
-
significantly complex you may be asked to post it
|
60
|
-
to the tracker anyways.
|
61
|
-
</li>
|
62
|
-
<li>
|
63
|
-
Please search the tracker first, and have a
|
64
|
-
repeatable use case that accurately describes your
|
65
|
-
problem.
|
66
|
-
</li>
|
67
|
-
<li>
|
68
|
-
If you post to the tracker, have a rubyforge
|
69
|
-
account and ensure you're logged in. If you don't,
|
70
|
-
and questions to need to be asked, your bug will
|
71
|
-
likely be quickly round-filed. Our tracker is not
|
72
|
-
your cathartic dumping ground.
|
73
|
-
</li>
|
74
|
-
</ul>
|
75
|
-
<p>
|
76
|
-
If you'd like to contact us to report a bug or submit a patch,
|
77
|
-
please use the <a
|
78
|
-
href="http://rubyforge.org/tracker/?group_id=234">tracker</a>
|
79
|
-
on RubyForge. If you plan long term development, consider
|
80
|
-
setting up a git repository other developers can pull from.
|
81
|
-
</p>
|
82
|
-
|
83
|
-
<p>
|
84
|
-
Please see the <a href="contact.html">contact</a> page
|
85
|
-
about contacting developers or mailing lists.
|
86
|
-
</p>
|
87
|
-
|
88
|
-
<p>
|
89
|
-
We now use 'git' for our revision control system. We now push
|
90
|
-
to several locations:
|
91
|
-
|
92
|
-
<dl>
|
93
|
-
<dt>Rubyforge</dt>
|
94
|
-
<dd>git://rubyforge.org/ruby-dbi.git</dd>
|
95
|
-
<dt>GitHub</dt>
|
96
|
-
<dd>git://github.com/erikh/ruby-dbi.git</dd>
|
97
|
-
<dt>hollensbe.org</dt>
|
98
|
-
<dd>git://hollensbe.org/git/ruby-dbi.git</dd>
|
99
|
-
</dl>
|
100
|
-
<br />
|
101
|
-
|
102
|
-
Forward development occurs in the 'development' branch,
|
103
|
-
which is version-tagged and merged into 'master' at release
|
104
|
-
time. 'master' is used to track release versions and
|
105
|
-
maintenance to those versions.
|
106
|
-
</p>
|
107
|
-
|
108
|
-
<p>
|
109
|
-
Ruby/DBI is a BSD-licensed product. As a result, the
|
110
|
-
licensing on your patches must be the same. Please do
|
111
|
-
not send patches that are of any other license. Thanks!
|
112
|
-
</p>
|
113
|
-
</div>
|
114
|
-
<br />
|
115
|
-
<br />
|
116
|
-
<div class="copyright">
|
117
|
-
©2008 Erik Hollensbe, all rights reserved. Please see the
|
118
|
-
README file for the full copyright notice. Please see the
|
119
|
-
LICENSE file in the source package for information on
|
120
|
-
redistributing the source or any of the site content.
|
121
|
-
</div>
|
122
|
-
</div>
|
123
|
-
</body>
|
124
|
-
</html>
|
data/doc/homepage/index.html
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>
|
6
|
-
<title>Ruby/DBI - Direct database access layer for Ruby</title>
|
7
|
-
<link rel="stylesheet" type="text/css" href="ruby-dbi.css"/>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
<div class="body-container">
|
11
|
-
<h1>Ruby/DBI - Direct database access layer for Ruby</h1>
|
12
|
-
<div class="main-container">
|
13
|
-
<div class="nav-container">
|
14
|
-
<h1>Links</h1>
|
15
|
-
<a href="index.html">Home</a>
|
16
|
-
<a href="http://rubyforge.org/projects/ruby-dbi">RubyForge Project</a>
|
17
|
-
<a href="http://ruby-dbi.rubyforge.org/rdoc/index.html">RDoc</a>
|
18
|
-
<a href="development.html">Developer Information</a>
|
19
|
-
<a href="http://www.kitebird.com/articles/ruby-dbi.html">Ruby/DBI Tutorial</a>
|
20
|
-
<a href="contact.html">Contact/Reporting Bugs</a>
|
21
|
-
</div>
|
22
|
-
|
23
|
-
<p>
|
24
|
-
Ruby/DBI is a database interface in the spirit of Perl's prolific
|
25
|
-
<a href="http://search.cpan.org/~timb/DBI/DBI.pm">DBI</a> authored
|
26
|
-
by Tim Bunce.
|
27
|
-
</p>
|
28
|
-
|
29
|
-
<p>
|
30
|
-
Ruby/DBI differs in quite a few ways, however. It incorporates
|
31
|
-
many "rubyisms" while maintaining the core DBI interface, and a
|
32
|
-
suite of commonly used DBD's are maintained with the
|
33
|
-
application.
|
34
|
-
</p>
|
35
|
-
|
36
|
-
<p>
|
37
|
-
Ruby/DBI is <i>not</i> an ORM, like <a
|
38
|
-
href="http://ar.rubyonrails.com">ActiveRecord</a> or <a
|
39
|
-
href="http://datamapper.rubyforge.org">DataMapper</a>. It is a
|
40
|
-
lightweight, centralized API to database manipulation. An ORM may
|
41
|
-
or may not be what you want for a given situation, due to weight,
|
42
|
-
ease-of-use or other issues. Our goal with Ruby/DBI is to provide a
|
43
|
-
compelling, lightweight interface that you can use for things where
|
44
|
-
an ORM is too much or too cumbersome.
|
45
|
-
</p>
|
46
|
-
|
47
|
-
<p>
|
48
|
-
Getting started with Ruby/DBI is very easy if you have a working
|
49
|
-
knowledge of SQL and your target database. Read the <a
|
50
|
-
href="http://ruby-dbi.rubyforge.org/rdoc/index.html">Documentation</a>
|
51
|
-
to get on your way!
|
52
|
-
</p>
|
53
|
-
|
54
|
-
<p>
|
55
|
-
The maintainer, Erik Hollensbe, has made a commitment to
|
56
|
-
keeping Ruby/DBI compatible with future Ruby releases. There is
|
57
|
-
also a significant interest in enhancing the suite by further
|
58
|
-
clarifying and enforcing the interface, and further tailoring DBI
|
59
|
-
for the specific needs of Ruby users (as opposed to many of the
|
60
|
-
Perlisms maintained) without impacting the goal of the project.
|
61
|
-
There is also significant effort applied to clarifying the
|
62
|
-
underpinnings, making debugging and development simpler.
|
63
|
-
</p>
|
64
|
-
|
65
|
-
<p>
|
66
|
-
Ruby/DBI is a very old project as far as the ruby community is
|
67
|
-
concerned, tracing back to at least 2001. There are plenty of
|
68
|
-
people who <a
|
69
|
-
href="http://ruby-dbi.rubyforge.org/rdoc/index.html">have
|
70
|
-
contributed</a> to this effort. Big thanks to the original
|
71
|
-
project lead, Michael Neumann, and Francis Hwang and Daniel Berger, who held the
|
72
|
-
project in escrow for such a long time.
|
73
|
-
</p>
|
74
|
-
</div>
|
75
|
-
<div class="copyright">
|
76
|
-
©2008 Erik Hollensbe, all rights reserved. Please see the
|
77
|
-
README file for the full copyright notice. Please see the
|
78
|
-
LICENSE file in the source package for information on
|
79
|
-
redistributing the source or any of the site content.
|
80
|
-
</div>
|
81
|
-
</div>
|
82
|
-
</body>
|
83
|
-
</html>
|