Class: Myreplicator::VerticaSql
- Inherits:
-
Object
- Object
- Myreplicator::VerticaSql
- Defined in:
- lib/loader/vertica/vertica_sql.rb
Class Method Summary collapse
- .create_table_stmt(options) ⇒ Object
- .data_type(type, col_type) ⇒ Object
- .key(col_key) ⇒ Object
- .nullable(is_nullable) ⇒ Object
Class Method Details
.create_table_stmt(options) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/loader/vertica/vertica_sql.rb', line 4 def self.create_table_stmt sql = "CREATE TABLE IF NOT EXISTS #{[:vertica_db]}." sql += "#{[:vertica_schema]}." if [:vertica_schema] sql += "#{[:table]} (" index = 1 #primary_set = false [:columns].each do |column| sql += "\"#{column['column_name']}\" " sql += data_type(column['data_type'], column['column_type']) sql += " " #sql += nullable(column['is_nullable']) #sql += " " if index < [:columns].size sql += ", " end index += 1 end # Add primary key primary_set = false [:columns].each do |column| if column['column_key'] == "PRI" if !primary_set sql += ", PRIMARY KEY (" + "\"#{column['column_name']}\" " else sql += ", " + "\"#{column['column_name']}\" " end primary_set = true end end if primary_set sql += ") " end # Add unique key [:columns].each do |column| if column['column_key'] == "UNI" sql += ", UNIQUE (" + "\"#{column['column_name']}\" " sql += ") " end end sql += ");" puts sql return sql end |
.data_type(type, col_type) ⇒ Object
66 67 68 69 70 |
# File 'lib/loader/vertica/vertica_sql.rb', line 66 def self.data_type type, col_type type = Myreplicator::VerticaTypes.convert type, col_type result = " #{type} " return result end |
.key(col_key) ⇒ Object
72 73 74 75 |
# File 'lib/loader/vertica/vertica_sql.rb', line 72 def self.key col_key col_key = Myreplicator::VerticaTypes.convert_key col_key return "#{col_key} " end |
.nullable(is_nullable) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/loader/vertica/vertica_sql.rb', line 57 def self.nullable is_nullable if is_nullable == "YES" return "NULL" elsif is_nullable == "NO" return "NOT NULL" end return "" end |