def primary_keys_for_new_row( count, entity )
attrs = entity.primary_key_attributes
if attrs.size > 1 then return nil end
open
attr = attrs.first
column_name = attr.column_name
if (maxnum = @pk_cache[entity]) > 0 then
@pk_cache[entity] = maxnum + count
return _primary_keys(attr, maxnum, count)
end
sql = "SELECT #{column_name} FROM #{entity.external_name}"
sql << " ORDER BY #{column_name} DESC LIMIT 1"
factory = @adapter_context.adapter.expression_factory
expr = factory.create entity
expr.statement = sql
evaluate expr
row = @state.fetch
if row.nil? then
maxnum = 0
else
maxnum = row[0]
end
@pk_cache[entity] = maxnum + count
_primary_keys(attr, maxnum, count)
end