14 std::map<std::string,int>::iterator iS = m_lastIds.find( sequenceName );
15 if( iS == m_lastIds.end() ){
16 bool found = m_schema.sequenceTable().getLastId( sequenceName, next );
18 m_schema.sequenceTable().add( sequenceName );
22 m_lastIds.insert( std::make_pair( sequenceName, next ));
28 m_schema.sequenceTable().sinchronize( sequenceName, next );
34 std::map<std::string,int>::iterator iS = m_lastIds.find( sequenceName );
35 if( iS != m_lastIds.end() ){
37 m_schema.sequenceTable().getLastId( sequenceName, lastOnDb );
38 if( lastOnDb < iS->
second ) m_schema.sequenceTable().sinchronize( sequenceName, iS->second );
39 m_lastIds.erase( sequenceName );
44 for( std::map<std::string,int>::iterator iS = m_lastIds.begin();
45 iS != m_lastIds.end(); iS++ ){
47 m_schema.sequenceTable().getLastId( iS->first, lastOnDb );
48 if( lastOnDb < iS->
second ) m_schema.sequenceTable().sinchronize( iS->first, iS->second );
54 m_schema.sequenceTable().erase( sequenceName );
62 m_name( sequenceName ),
63 m_sequences( dbSchema ){
70 return m_sequences.getNextId( m_name, sinchronize );
74 m_sequences.sinchronize( m_name );
78 m_sequences.erase( m_name );
Sequences(IDatabaseSchema &dbSchema)
NamedSequence(const std::string &sequenceName, IDatabaseSchema &dbSchema)
void erase(const std::string &sequenceName)
int getNextId(bool sinchronize=false)
U second(std::pair< T, U > const &p)
void sinchronize(const std::string &sequenceName)
int getNextId(const std::string &sequenceName, bool sinchronize=false)