public void performValidation( Metadata metadata, DatabaseInformation databaseInformation, ExecutionOptions options, Dialect dialect) { for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { if ( schemaFilter.includeNamespace( namespace ) ) { validateTables( metadata, databaseInformation, options, dialect, namespace ); } } for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { if ( schemaFilter.includeNamespace( namespace ) ) { for ( Sequence sequence : namespace.getSequences() ) { if ( schemaFilter.includeSequence( sequence ) ) { final SequenceInformation sequenceInformation = databaseInformation.getSequenceInformation( sequence.getName() ); validateSequence( sequence, sequenceInformation ); } } } } }
@Test @TestForIssue( jiraKey = "HHH-9936" ) public void testMultipleUsesOfDefaultSequenceName() { final MetadataImplementor metadata = (MetadataImplementor) new MetadataSources( ssr ) .addAnnotatedClass( Entity1.class ) .addAnnotatedClass( Entity2.class ) .buildMetadata(); metadata.validate(); assertEquals( 0, metadata.getDatabase().getAuxiliaryDatabaseObjects().size() ); int count = 0; for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { for ( Sequence sequence : namespace.getSequences() ) { count++; } } assertEquals( 1, count ); }
@Test @TestForIssue( jiraKey = "HHH-9936" ) public void testMultipleUsesOfExplicitSequenceName() { final MetadataImplementor metadata = (MetadataImplementor) new MetadataSources( ssr ) .addAnnotatedClass( Entity3.class ) .addAnnotatedClass( Entity4.class ) .buildMetadata(); metadata.validate(); assertEquals( 0, metadata.getDatabase().getAuxiliaryDatabaseObjects().size() ); int count = 0; for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { for ( Sequence sequence : namespace.getSequences() ) { count++; } } assertEquals( 1, count ); }
tablesInformation.put( namespace, nameSpaceTablesInformation ); if ( schemaFilter.includeNamespace( namespace ) ) { for ( Sequence sequence : namespace.getSequences() ) { checkExportIdentifier( sequence, exportIdentifiers ); final SequenceInformation sequenceInformation = existingDatabase.getSequenceInformation( sequence.getName() );
for ( Sequence sequence : namespace.getSequences() ) { if ( !schemaFilter.includeSequence( sequence ) ) { continue;
); sequenceStructure.registerExportables( database ); exportIdentifierSet.add( namespace.getSequences().iterator().next().getExportIdentifier() ); namespaceSize++;
for ( Sequence sequence : namespace.getSequences() ) { if ( !schemaFilter.includeSequence( sequence ) ) { continue;
protected List<Sequence> sequences(Database database) { List<Sequence> sequences = new ArrayList<>(); for ( Namespace namespace : database.getNamespaces() ) { for ( Sequence sequence : namespace.getSequences() ) { sequences.add( sequence ); } } return sequences; }
for ( Sequence seq : namespace.getSequences() ) { this.sequenceCounterHandlers.put( seq.getExportIdentifier(), new SequenceClusteredCounterHandler( persistenceStrategy.getCacheManager().getCacheManager(), seq ) );
for ( Sequence seq : namespace.getSequences() ) { this.sequenceCounterHandlers.put( seq.getExportIdentifier(), new SequenceClusteredCounterHandler( persistenceStrategy.getCacheManager().getCacheManager(), seq ) );
for ( Sequence sequence : namespace.getSequences() ) { generatedSequences.add( sequence.getName().getSequenceName().getText() ); igniteDatastoreProvider.atomicSequence( sequence.getName().getSequenceName().getText(), sequence.getInitialValue(), true );
@Override public void initializeSchema(SchemaDefinitionContext context) { ServiceRegistryImplementor serviceRegistry = context.getSessionFactory().getServiceRegistry(); TypeTranslator typeTranslator = serviceRegistry.getService( TypeTranslator.class ); OptionsService optionsService = serviceRegistry.getService( OptionsService.class ); Map tableEntityTypeMapping = context.getTableEntityTypeMapping(); InfinispanRemoteDatastoreProvider datastoreProvider = (InfinispanRemoteDatastoreProvider) serviceRegistry.getService( DatastoreProvider.class ); String protobufPackageName = datastoreProvider.getProtobufPackageName(); SchemaDefinitions sd = new SchemaDefinitions( protobufPackageName ); HashSet<Sequence> sequences = new HashSet<>(); for ( Namespace namespace : context.getDatabase().getNamespaces() ) { for ( Sequence sequence : namespace.getSequences() ) { sequences.add( sequence ); } for ( Table table : namespace.getTables() ) { if ( table.isPhysicalTable() ) { createTableDefinition( context.getSessionFactory(), sd, table, typeTranslator, protobufPackageName, getCacheConfiguration( tableEntityTypeMapping, optionsService, table.getName() ) ); } } } for ( IdSourceKeyMetadata iddSourceKeyMetadata : context.getAllIdSourceKeyMetadata() ) { if ( !HotRodSequenceCounterHandler.isSequenceGeneratorId( iddSourceKeyMetadata ) ) { sd.createSequenceSchemaDefinition( iddSourceKeyMetadata, datastoreProvider.getProtobufPackageName() ); } } datastoreProvider.registerSchemaDefinitions( sd, sequences ); }