imparcial 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/imparcial/driver/base/expression/base.rb +104 -0
- data/lib/imparcial/driver/base/expression/delete.rb +72 -0
- data/lib/imparcial/driver/base/expression/index.rb +199 -0
- data/lib/imparcial/driver/base/expression/insert.rb +33 -0
- data/lib/imparcial/driver/base/expression/lock.rb +11 -0
- data/lib/imparcial/driver/base/expression/select.rb +36 -0
- data/lib/imparcial/driver/base/expression/sequence.rb +189 -0
- data/lib/imparcial/driver/base/expression/statement.rb +128 -0
- data/lib/imparcial/driver/base/expression/table_diff.rb +154 -0
- data/lib/imparcial/driver/base/expression/table_evolution.rb +94 -0
- data/lib/imparcial/driver/base/expression/table_metadata.rb +122 -0
- data/lib/imparcial/driver/base/expression/table_operation.rb +137 -0
- data/lib/imparcial/driver/base/expression/transaction.rb +59 -0
- data/lib/imparcial/driver/base/expression/update.rb +33 -0
- data/lib/imparcial/driver/base/expression/util.rb +45 -0
- data/lib/imparcial/driver/base/expression.rb +37 -0
- data/lib/imparcial/driver/base/result.rb +94 -0
- data/lib/imparcial/driver/base/sql/delete.rb +22 -0
- data/lib/imparcial/driver/base/sql/index.rb +53 -0
- data/lib/imparcial/driver/base/sql/insert.rb +63 -0
- data/lib/imparcial/driver/base/sql/select.rb +101 -0
- data/lib/imparcial/driver/base/sql/sequence.rb +55 -0
- data/lib/imparcial/driver/base/sql/table_metadata.rb +29 -0
- data/lib/imparcial/driver/base/sql/table_operation.rb +49 -0
- data/lib/imparcial/driver/base/sql/transaction.rb +43 -0
- data/lib/imparcial/driver/base/sql/update.rb +29 -0
- data/lib/imparcial/driver/base/sql.rb +25 -0
- data/lib/imparcial/driver/base/typemap.rb +214 -0
- data/lib/imparcial/driver/base/util.rb +41 -0
- data/lib/imparcial/driver/base.rb +156 -0
- data/lib/imparcial/driver/mysql/expression/index.rb +44 -0
- data/lib/imparcial/driver/mysql/expression/table.rb +26 -0
- data/lib/imparcial/driver/mysql/expression.rb +11 -0
- data/lib/imparcial/driver/mysql/result.rb +33 -0
- data/lib/imparcial/driver/mysql/sql/index.rb +51 -0
- data/lib/imparcial/driver/mysql/sql/sequence.rb +39 -0
- data/lib/imparcial/driver/mysql/sql/table_metadata.rb +43 -0
- data/lib/imparcial/driver/mysql/sql/table_operation.rb +20 -0
- data/lib/imparcial/driver/mysql/sql.rb +15 -0
- data/lib/imparcial/driver/mysql/typemap.rb +13 -0
- data/lib/imparcial/driver/mysql/util.rb +13 -0
- data/lib/imparcial/driver/mysql.rb +48 -0
- data/lib/imparcial/driver/postgre/expression/index.rb +10 -0
- data/lib/imparcial/driver/postgre/expression/sequence.rb +9 -0
- data/lib/imparcial/driver/postgre/expression/table.rb +20 -0
- data/lib/imparcial/driver/postgre/expression.rb +13 -0
- data/lib/imparcial/driver/postgre/result.rb +35 -0
- data/lib/imparcial/driver/postgre/sql/index.rb +53 -0
- data/lib/imparcial/driver/postgre/sql/sequence.rb +28 -0
- data/lib/imparcial/driver/postgre/sql/table_metadata.rb +46 -0
- data/lib/imparcial/driver/postgre/sql/table_operation.rb +9 -0
- data/lib/imparcial/driver/postgre/sql.rb +15 -0
- data/lib/imparcial/driver/postgre/typemap.rb +29 -0
- data/lib/imparcial/driver/postgre/util.rb +19 -0
- data/lib/imparcial/driver/postgre.rb +43 -0
- data/lib/imparcial/driver.rb +1 -0
- data/lib/imparcial/exception.rb +61 -0
- data/lib/imparcial.rb +82 -0
- metadata +114 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'mysql'
|
2
|
+
require 'imparcial/driver/mysql/util'
|
3
|
+
require 'imparcial/driver/mysql/typemap'
|
4
|
+
require 'imparcial/driver/mysql/result'
|
5
|
+
require 'imparcial/driver/mysql/sql'
|
6
|
+
require 'imparcial/driver/mysql/expression'
|
7
|
+
|
8
|
+
module Imparcial
|
9
|
+
module Driver
|
10
|
+
class AdapterMysql < AdapterBase
|
11
|
+
|
12
|
+
def adapter_specific_exception
|
13
|
+
|
14
|
+
Mysql::Error
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
include UtilMysql
|
19
|
+
include TypemapMysql
|
20
|
+
include SQLMysql
|
21
|
+
include ExpressionMysql
|
22
|
+
|
23
|
+
def connect
|
24
|
+
|
25
|
+
@conn = Mysql.real_connect @host, @user, @pass, @database
|
26
|
+
|
27
|
+
rescue adapter_specific_exception => ex
|
28
|
+
|
29
|
+
raise AdapterConnectionError.new(ex.message)
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
def version
|
34
|
+
|
35
|
+
conn.get_server_info
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
def query ( sql )
|
40
|
+
|
41
|
+
result = conn.query sql
|
42
|
+
@result = ResultMysql.new result
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Imparcial
|
2
|
+
module Driver
|
3
|
+
module ExpressionPostgre
|
4
|
+
module Table
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
def field_to_column ( field )
|
9
|
+
|
10
|
+
column = super
|
11
|
+
column[:type] = 'SERIAL' if field[:auto_increment]
|
12
|
+
|
13
|
+
column
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'imparcial/driver/postgre/expression/sequence'
|
2
|
+
require 'imparcial/driver/postgre/expression/table'
|
3
|
+
require 'imparcial/driver/postgre/expression/index'
|
4
|
+
|
5
|
+
module Imparcial
|
6
|
+
module Driver
|
7
|
+
module ExpressionPostgre
|
8
|
+
include Sequence
|
9
|
+
include Table
|
10
|
+
include Index
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Imparcial
|
2
|
+
module Driver
|
3
|
+
class ResultPostgre < ResultBase
|
4
|
+
|
5
|
+
def rows
|
6
|
+
|
7
|
+
@specific.result.length
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
def fetch
|
12
|
+
|
13
|
+
fields = @specific.fields
|
14
|
+
rows = @specific.result
|
15
|
+
|
16
|
+
rows.each do |row|
|
17
|
+
|
18
|
+
v = []
|
19
|
+
|
20
|
+
row.each_with_index do |value, index|
|
21
|
+
|
22
|
+
v << Row.new(fields[index], value)
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
yield(*v)
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Imparcial
|
2
|
+
module Driver
|
3
|
+
module SQLPostgre
|
4
|
+
module Index
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
# Generate SQL statement for verifying if a given index exists.
|
9
|
+
|
10
|
+
def sql_for_index_exists? ( options )
|
11
|
+
|
12
|
+
%{
|
13
|
+
SELECT 1 FROM pg_class WHERE relkind = 'i' AND
|
14
|
+
relname = #{quote_value(options[:index_name])}
|
15
|
+
}
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
# Generate SQL statement for retrieving all indexes.
|
20
|
+
|
21
|
+
def sql_for_retrieving_indexes
|
22
|
+
|
23
|
+
%{
|
24
|
+
SELECT
|
25
|
+
c2.relname as "table",
|
26
|
+
(select attname from pg_attribute where attrelid = i.indexrelid AND attnum > 0) as "column" ,
|
27
|
+
c.relname as "index"
|
28
|
+
FROM pg_class c
|
29
|
+
JOIN pg_roles r ON r.oid = c.relowner
|
30
|
+
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
|
31
|
+
LEFT JOIN pg_index i ON i.indexrelid = c.oid
|
32
|
+
LEFT JOIN pg_class c2 ON i.indrelid = c2.oid
|
33
|
+
WHERE c.relkind IN ('i','')
|
34
|
+
AND n.nspname NOT IN ('pg_catalog', 'pg_toast')
|
35
|
+
}
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
# Generate SQL statement for retrieving indexes for a specific table.
|
40
|
+
|
41
|
+
def sql_for_retrieving_indexes_for_table ( options )
|
42
|
+
|
43
|
+
sql_for_retrieving_indexes + %{
|
44
|
+
AND c2.relname = #{quote_value(options[:table_name])}
|
45
|
+
}
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Imparcial
|
2
|
+
module Driver
|
3
|
+
module SQLPostgre
|
4
|
+
module Sequence
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
def sql_for_sequence_exists? ( options )
|
9
|
+
|
10
|
+
%{
|
11
|
+
SELECT 1 FROM pg_class WHERE relkind = 'S' AND
|
12
|
+
relname = #{quote_value(options[:sequence_name])}
|
13
|
+
}
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
# Generate SQL statement for retrieving sequences.
|
18
|
+
|
19
|
+
def sql_for_retrieving_sequences
|
20
|
+
|
21
|
+
"SELECT relname FROM pg_class WHERE relkind = 'S'"
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Imparcial
|
2
|
+
module Driver
|
3
|
+
module SQLPostgre
|
4
|
+
module TableMetadata
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
# Generate SQL statement for retrieving tables.
|
9
|
+
|
10
|
+
def sql_for_retrieving_tables
|
11
|
+
|
12
|
+
%{
|
13
|
+
SELECT table_name FROM information_schema.tables
|
14
|
+
WHERE table_schema = 'public'
|
15
|
+
}
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
# Generate SQL statement for retrieving columns.
|
20
|
+
|
21
|
+
def sql_for_retrieving_columns ( options )
|
22
|
+
|
23
|
+
%{
|
24
|
+
SELECT
|
25
|
+
A.column_name, A.data_type, A.character_maximum_length,
|
26
|
+
(A.is_nullable = 'YES') as allow_null,
|
27
|
+
(A.column_name = B.column_name) as pk,
|
28
|
+
A.column_default,
|
29
|
+
A.column_default LIKE 'nextval%' as auto_inc,
|
30
|
+
A.column_name in (SELECT sa.attname from pg_class sc
|
31
|
+
JOIN pg_index si ON sc.oid = si.indexrelid
|
32
|
+
JOIN pg_class sc2 ON sc2.oid = si.indrelid
|
33
|
+
JOIN pg_attribute sa ON sc.oid = sa.attrelid
|
34
|
+
WHERE sc2.relname = #{quote_value(options[:table_name])} AND sa.attname = A.column_name
|
35
|
+
) as column_indexed
|
36
|
+
FROM information_schema.columns A
|
37
|
+
LEFT JOIN information_schema.key_column_usage B ON A.table_name = B.table_name
|
38
|
+
WHERE A.table_name = #{quote_value(options[:table_name])};
|
39
|
+
}
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'imparcial/driver/postgre/sql/table_operation'
|
2
|
+
require 'imparcial/driver/postgre/sql/table_metadata'
|
3
|
+
require 'imparcial/driver/postgre/sql/sequence'
|
4
|
+
require 'imparcial/driver/postgre/sql/index'
|
5
|
+
|
6
|
+
module Imparcial
|
7
|
+
module Driver
|
8
|
+
module SQLPostgre
|
9
|
+
include TableOperation
|
10
|
+
include TableMetadata
|
11
|
+
include Sequence
|
12
|
+
include Index
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Imparcial
|
2
|
+
module Driver
|
3
|
+
module TypemapPostgre
|
4
|
+
|
5
|
+
def sql_types
|
6
|
+
|
7
|
+
super.dup.merge!('CHARACTER VARYING' => :string)
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
# Due to nextval, we have to format the default value
|
14
|
+
|
15
|
+
def parse_column ( column )
|
16
|
+
|
17
|
+
super
|
18
|
+
|
19
|
+
if column[:default_value]
|
20
|
+
|
21
|
+
column[:default_value].gsub!(/::.*/,'')
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'postgres'
|
2
|
+
require 'imparcial/driver/postgre/util'
|
3
|
+
require 'imparcial/driver/postgre/typemap'
|
4
|
+
require 'imparcial/driver/postgre/result'
|
5
|
+
require 'imparcial/driver/postgre/sql'
|
6
|
+
require 'imparcial/driver/postgre/expression'
|
7
|
+
|
8
|
+
module Imparcial
|
9
|
+
module Driver
|
10
|
+
class AdapterPostgre < AdapterBase
|
11
|
+
|
12
|
+
def adapter_specific_exception
|
13
|
+
|
14
|
+
PGError
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
include UtilPostgre
|
19
|
+
include TypemapPostgre
|
20
|
+
include SQLPostgre
|
21
|
+
include ExpressionPostgre
|
22
|
+
|
23
|
+
def connect
|
24
|
+
|
25
|
+
@conn = PGconn.connect @host, @port, '', '', @database, @user, @pass
|
26
|
+
|
27
|
+
rescue adapter_specific_exception => ex
|
28
|
+
|
29
|
+
raise AdapterConnectionError.new(ex.message)
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
def query ( sql )
|
34
|
+
|
35
|
+
result = conn.exec sql
|
36
|
+
@result = ResultPostgre.new result
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'imparcial/driver/base'
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Imparcial
|
2
|
+
|
3
|
+
# Main class
|
4
|
+
|
5
|
+
class ImparcialError < StandardError; end
|
6
|
+
|
7
|
+
# Adapter
|
8
|
+
|
9
|
+
class AdapterError < ImparcialError; end
|
10
|
+
class AdapterNotFound < AdapterError; end
|
11
|
+
class AdapterConfigError < AdapterError; end
|
12
|
+
class AdapterConnectionError < AdapterError; end
|
13
|
+
|
14
|
+
# Result
|
15
|
+
|
16
|
+
class ResultError < ImparcialError; end
|
17
|
+
|
18
|
+
# Expression
|
19
|
+
|
20
|
+
class ExpressionError < ImparcialError; end
|
21
|
+
|
22
|
+
class FeatureNotFound < ExpressionError; end
|
23
|
+
|
24
|
+
# Table
|
25
|
+
|
26
|
+
class TableError < ExpressionError; end
|
27
|
+
class TableCreateError < TableError; end
|
28
|
+
class TableDropError < TableError; end
|
29
|
+
class TableRetrieveError < TableError; end
|
30
|
+
|
31
|
+
class ConditionError < ExpressionError; end
|
32
|
+
class OptionError < ExpressionError; end
|
33
|
+
|
34
|
+
# Crud
|
35
|
+
|
36
|
+
class SelectError < ExpressionError; end
|
37
|
+
class InsertError < ExpressionError; end
|
38
|
+
class DeleteError < ExpressionError; end
|
39
|
+
class UpdateError < ExpressionError; end
|
40
|
+
|
41
|
+
# Sequence
|
42
|
+
|
43
|
+
class SequenceError < ExpressionError; end
|
44
|
+
class SequenceCreateError < SequenceError; end
|
45
|
+
class SequenceDropError < SequenceError; end
|
46
|
+
|
47
|
+
# Transaction
|
48
|
+
|
49
|
+
class TransactionError < ExpressionError; end
|
50
|
+
|
51
|
+
# Lock
|
52
|
+
|
53
|
+
class LockError < ExpressionError; end
|
54
|
+
|
55
|
+
# Index
|
56
|
+
|
57
|
+
class IndexError < ExpressionError; end
|
58
|
+
class IndexCreateError < IndexError; end
|
59
|
+
class IndexDropError < IndexError; end
|
60
|
+
|
61
|
+
end
|
data/lib/imparcial.rb
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
require 'facets/core/string/camelize'
|
4
|
+
require 'facets/core/string/to_const'
|
5
|
+
require 'facets/core/symbol/to_const'
|
6
|
+
|
7
|
+
require 'imparcial/exception'
|
8
|
+
require 'imparcial/driver'
|
9
|
+
|
10
|
+
module Imparcial
|
11
|
+
class Initializer
|
12
|
+
|
13
|
+
attr_accessor :host, :driver, :port, :user, :pass, :socket, :database
|
14
|
+
|
15
|
+
alias_method :adapter=, :driver=
|
16
|
+
alias_method :username=, :user=
|
17
|
+
alias_method :password=, :pass=
|
18
|
+
alias_method :sock=, :socket=
|
19
|
+
alias_method :db=, :database=
|
20
|
+
alias_method :hostname=, :host=
|
21
|
+
|
22
|
+
alias_method :adapter, :driver
|
23
|
+
alias_method :username, :user
|
24
|
+
alias_method :password, :pass
|
25
|
+
alias_method :sock, :socket
|
26
|
+
alias_method :db, :database
|
27
|
+
alias_method :hostname, :host
|
28
|
+
|
29
|
+
# Default is localhost.
|
30
|
+
|
31
|
+
def host
|
32
|
+
|
33
|
+
@host || 'localhost'
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
# Default is Mysql
|
38
|
+
|
39
|
+
def driver
|
40
|
+
|
41
|
+
@driver || 'mysql'
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
# Default is STDOUT
|
46
|
+
|
47
|
+
def logger
|
48
|
+
|
49
|
+
@logger || Logger.new( STDERR )
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.run
|
54
|
+
|
55
|
+
instance = new
|
56
|
+
|
57
|
+
yield instance
|
58
|
+
|
59
|
+
instance.start_me
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
def start_me
|
64
|
+
|
65
|
+
require 'imparcial/driver/' + driver
|
66
|
+
|
67
|
+
# Get an adapter const.
|
68
|
+
|
69
|
+
adapter_const = ('Imparcial::Driver::Adapter' + driver.camelize).to_const
|
70
|
+
|
71
|
+
adapter = adapter_const.new self
|
72
|
+
|
73
|
+
adapter
|
74
|
+
|
75
|
+
rescue LoadError
|
76
|
+
|
77
|
+
raise AdapterNotFound.new(driver + ' cannot be found')
|
78
|
+
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
end
|
metadata
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.9.4.3
|
3
|
+
specification_version: 1
|
4
|
+
name: imparcial
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.0.1
|
7
|
+
date: 2007-08-22 00:00:00 -03:00
|
8
|
+
summary: Standard Database Interface for ruby
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: antonio@gmail.com
|
12
|
+
homepage: http://guilherme-antonio.blogspot.com
|
13
|
+
rubyforge_project:
|
14
|
+
description:
|
15
|
+
autorequire:
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: false
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
29
|
+
authors:
|
30
|
+
- Guilherme Antoniolo Ferreira
|
31
|
+
files:
|
32
|
+
- lib/imparcial
|
33
|
+
- lib/imparcial.rb
|
34
|
+
- lib/imparcial/driver
|
35
|
+
- lib/imparcial/driver.rb
|
36
|
+
- lib/imparcial/exception.rb
|
37
|
+
- lib/imparcial/driver/base.rb
|
38
|
+
- lib/imparcial/driver/base
|
39
|
+
- lib/imparcial/driver/postgre.rb
|
40
|
+
- lib/imparcial/driver/mysql.rb
|
41
|
+
- lib/imparcial/driver/mysql
|
42
|
+
- lib/imparcial/driver/postgre
|
43
|
+
- lib/imparcial/driver/base/expression
|
44
|
+
- lib/imparcial/driver/base/result.rb
|
45
|
+
- lib/imparcial/driver/base/typemap.rb
|
46
|
+
- lib/imparcial/driver/base/expression.rb
|
47
|
+
- lib/imparcial/driver/base/util.rb
|
48
|
+
- lib/imparcial/driver/base/sql
|
49
|
+
- lib/imparcial/driver/base/sql.rb
|
50
|
+
- lib/imparcial/driver/base/expression/select.rb
|
51
|
+
- lib/imparcial/driver/base/expression/base.rb
|
52
|
+
- lib/imparcial/driver/base/expression/table_diff.rb
|
53
|
+
- lib/imparcial/driver/base/expression/transaction.rb
|
54
|
+
- lib/imparcial/driver/base/expression/delete.rb
|
55
|
+
- lib/imparcial/driver/base/expression/sequence.rb
|
56
|
+
- lib/imparcial/driver/base/expression/insert.rb
|
57
|
+
- lib/imparcial/driver/base/expression/table_operation.rb
|
58
|
+
- lib/imparcial/driver/base/expression/index.rb
|
59
|
+
- lib/imparcial/driver/base/expression/lock.rb
|
60
|
+
- lib/imparcial/driver/base/expression/statement.rb
|
61
|
+
- lib/imparcial/driver/base/expression/util.rb
|
62
|
+
- lib/imparcial/driver/base/expression/table_metadata.rb
|
63
|
+
- lib/imparcial/driver/base/expression/update.rb
|
64
|
+
- lib/imparcial/driver/base/expression/table_evolution.rb
|
65
|
+
- lib/imparcial/driver/base/sql/select.rb
|
66
|
+
- lib/imparcial/driver/base/sql/transaction.rb
|
67
|
+
- lib/imparcial/driver/base/sql/delete.rb
|
68
|
+
- lib/imparcial/driver/base/sql/sequence.rb
|
69
|
+
- lib/imparcial/driver/base/sql/insert.rb
|
70
|
+
- lib/imparcial/driver/base/sql/table_operation.rb
|
71
|
+
- lib/imparcial/driver/base/sql/index.rb
|
72
|
+
- lib/imparcial/driver/base/sql/table_metadata.rb
|
73
|
+
- lib/imparcial/driver/base/sql/update.rb
|
74
|
+
- lib/imparcial/driver/mysql/expression
|
75
|
+
- lib/imparcial/driver/mysql/result.rb
|
76
|
+
- lib/imparcial/driver/mysql/typemap.rb
|
77
|
+
- lib/imparcial/driver/mysql/expression.rb
|
78
|
+
- lib/imparcial/driver/mysql/util.rb
|
79
|
+
- lib/imparcial/driver/mysql/sql
|
80
|
+
- lib/imparcial/driver/mysql/sql.rb
|
81
|
+
- lib/imparcial/driver/mysql/expression/table.rb
|
82
|
+
- lib/imparcial/driver/mysql/expression/index.rb
|
83
|
+
- lib/imparcial/driver/mysql/sql/sequence.rb
|
84
|
+
- lib/imparcial/driver/mysql/sql/table_operation.rb
|
85
|
+
- lib/imparcial/driver/mysql/sql/index.rb
|
86
|
+
- lib/imparcial/driver/mysql/sql/table_metadata.rb
|
87
|
+
- lib/imparcial/driver/postgre/expression
|
88
|
+
- lib/imparcial/driver/postgre/result.rb
|
89
|
+
- lib/imparcial/driver/postgre/typemap.rb
|
90
|
+
- lib/imparcial/driver/postgre/expression.rb
|
91
|
+
- lib/imparcial/driver/postgre/util.rb
|
92
|
+
- lib/imparcial/driver/postgre/sql
|
93
|
+
- lib/imparcial/driver/postgre/sql.rb
|
94
|
+
- lib/imparcial/driver/postgre/expression/table.rb
|
95
|
+
- lib/imparcial/driver/postgre/expression/sequence.rb
|
96
|
+
- lib/imparcial/driver/postgre/expression/index.rb
|
97
|
+
- lib/imparcial/driver/postgre/sql/sequence.rb
|
98
|
+
- lib/imparcial/driver/postgre/sql/table_operation.rb
|
99
|
+
- lib/imparcial/driver/postgre/sql/index.rb
|
100
|
+
- lib/imparcial/driver/postgre/sql/table_metadata.rb
|
101
|
+
test_files: []
|
102
|
+
|
103
|
+
rdoc_options: []
|
104
|
+
|
105
|
+
extra_rdoc_files: []
|
106
|
+
|
107
|
+
executables: []
|
108
|
+
|
109
|
+
extensions: []
|
110
|
+
|
111
|
+
requirements: []
|
112
|
+
|
113
|
+
dependencies: []
|
114
|
+
|