knjrbfw 0.0.53 → 0.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.53
1
+ 0.0.54
data/knjrbfw.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{knjrbfw}
8
- s.version = "0.0.53"
8
+ s.version = "0.0.54"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kasper Johansen"]
@@ -237,7 +237,10 @@ class Knj::Db
237
237
  self.conn_exec do |driver|
238
238
  sql = "INSERT INTO #{driver.escape_table}#{tablename.to_s}#{driver.escape_table}"
239
239
 
240
- if arr_insert and !arr_insert.empty?
240
+ if !arr_insert or arr_insert.empty?
241
+ #This is the correct syntax for inserting a blank row in MySQL.
242
+ sql << " VALUES ()"
243
+ else
241
244
  sql << " ("
242
245
 
243
246
  first = true
@@ -314,7 +317,7 @@ class Knj::Db
314
317
  #
315
318
  #===Examples
316
319
  # db.update(:users, {:name => "John"}, {:lastname => "Doe"})
317
- def update(tablename, arr_update, arr_terms = {})
320
+ def update(tablename, arr_update, arr_terms = {}, args = nil)
318
321
  return false if arr_update.empty?
319
322
 
320
323
  self.conn_exec do |driver|
@@ -340,6 +343,7 @@ class Knj::Db
340
343
  sql << " WHERE #{self.makeWhere(arr_terms, driver)}"
341
344
  end
342
345
 
346
+ return sql if args and args[:return_sql]
343
347
  driver.query(sql)
344
348
  end
345
349
  end
@@ -459,6 +463,7 @@ class Knj::Db
459
463
  end
460
464
 
461
465
  if value.is_a?(Array)
466
+ raise "Array for column '#{key}' was empty." if value.empty?
462
467
  sql << "#{driver.escape_col}#{key}#{driver.escape_col} IN (#{Knj::ArrayExt.join(:arr => value, :sep => ",", :surr => "'", :callback => proc{|ele| self.esc(ele)})})"
463
468
  elsif value.is_a?(Hash)
464
469
  raise "Dont know how to handle hash."
@@ -42,7 +42,7 @@ class Knj::Db::Revision
42
42
  raise "No tables given." if !schema.has_key?("tables")
43
43
 
44
44
  #Cache tables to avoid constant reloading.
45
- if !args["tables_cache"] or args["tables_cache"]
45
+ if !args.key?("tables_cache") or args["tables_cache"]
46
46
  print "Caching tables-list.\n" if args["debug"]
47
47
  tables = db.tables.list
48
48
  else
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: knjrbfw
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.53
5
+ version: 0.0.54
6
6
  platform: ruby
7
7
  authors:
8
8
  - Kasper Johansen
@@ -379,7 +379,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
379
379
  requirements:
380
380
  - - ">="
381
381
  - !ruby/object:Gem::Version
382
- hash: -3998058168416114798
382
+ hash: -3593864177052203821
383
383
  segments:
384
384
  - 0
385
385
  version: "0"