module ArJdbc::MSSQL::Utils
Constants
- GET_TABLE_NAME_FROM_RE
- GET_TABLE_NAME_INSERT_UPDATE_RE
Public Instance Methods
get_table_name(sql, qualified = nil)
click to toggle source
# File lib/arjdbc/mssql/utils.rb, line 36 def get_table_name(sql, qualified = nil) if sql =~ GET_TABLE_NAME_INSERT_UPDATE_RE tn = $2 || $3 qualified ? tn : unqualify_table_name(tn) elsif sql =~ GET_TABLE_NAME_FROM_RE qualified ? $1 : unqualify_table_name($1) else nil end end
remove_identifier_delimiters(keyword)
click to toggle source
See “Delimited Identifiers”: msdn.microsoft.com/en-us/library/ms176027.aspx
# File lib/arjdbc/mssql/utils.rb, line 76 def remove_identifier_delimiters(keyword) keyword.to_s.tr("\]\[\"", '') end
unqualify_db_name(table_name)
click to toggle source
# File lib/arjdbc/mssql/utils.rb, line 68 def unqualify_db_name(table_name) table_names = table_name.to_s.split('.') table_names.length == 3 ? remove_identifier_delimiters(table_names.first) : nil end
unqualify_table_name(table_name)
click to toggle source
# File lib/arjdbc/mssql/utils.rb, line 59 def unqualify_table_name(table_name) remove_identifier_delimiters(table_name.to_s.split('.').last) end
unqualify_table_schema(table_name)
click to toggle source
# File lib/arjdbc/mssql/utils.rb, line 63 def unqualify_table_schema(table_name) schema_name = table_name.to_s.split('.')[-2] schema_name.nil? ? nil : remove_identifier_delimiters(schema_name) end
unquote_column_name(column_name)
click to toggle source
# File lib/arjdbc/mssql/utils.rb, line 51 def unquote_column_name(column_name) remove_identifier_delimiters(column_name) end
unquote_string(string)
click to toggle source
# File lib/arjdbc/mssql/utils.rb, line 55 def unquote_string(string) string.to_s.gsub("''", "'") end
unquote_table_name(table_name)
click to toggle source
# File lib/arjdbc/mssql/utils.rb, line 47 def unquote_table_name(table_name) remove_identifier_delimiters(table_name) end