An SQL Repository component includes the following properties:



Type: Default or sample value


class name



If setAutoCommit and localTransactionModeInitialization are both true, JDBC connections are explicitly set with the value of autoCommitInitialization. Otherwise JDBC connections are left as is.

boolean: true


For distributed TCP caching mode, should ATG automatically populate the das_gsa_subscriber database table?

boolean: true


If restoreCacheOnRestart is true, an XML file used to reload item caches on restart is written to this location.



Should the repository caches be flushed when the data source is switched? With cacheSwitchHot=false, the repository caches are flushed when the Repository receives a SwitchingDataSourceEvent of type PREPARE from the SwitchingDataSource.

With cacheSwitchHot=true, the Repository prepopulates an on-deck set of caches with data from the next DataSource. See the ATG Installation and Configuration Guide.

boolean: false


If set to true, the GSARepository verifies each database table with a simple SQL query at application startup. To skip the validity check and achieve faster startups, set this to false.

boolean: false


This property is used by the startSQLRepository script. Do not change its value.


This property is used by the startSQLRepository script. Do not change its value.


This refers to a Data Source to use for obtaining connections. Data Sources should typically implement resource pooling for best performance.

javax.sql.DataSource: /atg/dynamo/service/
pool name>


An integer value that indicates the detail of debugging messages printed out when the Repository’s loggingDebug property is set to true. Higher values generate more messages. The range is from 0-15.

You can also set the debug level for an individual item descriptor or property in the Dynamo Administration Interface or with the loggingDebug attribute tag. See Debug Levels in the Developing and Testing an SQL Repository chapter.

int: 5


The location of the repository definition XML files, specified as an absolute name on the application configuration path. ATG uses XML file combination to collate multiple definition files into a single repository definition.

XMLFile[]: No default


If true the repository disables all item caches when it starts up. This overrides all item cache size settings in the definition file. The caches can still be turned on later programmatically. This is mostly for debugging.

boolean: false


If true the repository disables all query caches when it starts up. This overrides all query cache size settings in the definition file. The caches can still be turned on later programmatically. This is mostly for debugging.

boolean: false


If true, the repository checks to make sure all required properties are present when adding repository items and forbids the setting of a required property to null.

boolean: true


The characters % and _ are typically treated as wildcards in database queries. If this property is set to true, the GSARepository uses an escape character before % and _ in all pattern-match queries. The one exception is when a pattern-match query is used to simulate a text search query, as in that case, wildcards should be allowed to be passed through. The escape character is specified by the wildcardEscapeCharacter property and the default value is \.

boolean: true


The event server component that handles cache invalidation messages for item descriptors that use distributed TCP caching mode.



If you want to define profile groups or content groups, set this to the RepositoryGroups component. See Setting Up Targeting Services in the ATG Personalization Programming Guide for more information about profile groups and content groups.



An IdGenerator to use for generating unique IDs for items.



A map that you can use to allow one item descriptor to be accessed by more than one name. You configure it as a Map that maps the alias to the existing item descriptor name that is its equivalent. For example:

    All Profiles=user

allows the name All Profiles to be used to refer to the item descriptor named user.

Properties: map of alias to item descriptor name


The maximum number of items to load from the database at one time. This property is consulted by getItems() and the hot cache switching logic.

int: 200


If true, sorted query results are sorted in a locale sensitive manner. More specifically, String values are compared using java.text.Collator. Because most databases cannot handle sorting with multiple locales, setting this option to true also means that the repository performs all sorting in memory. If false, database sorting (via ORDER BY) is used where applicable and Strings are compared using String.compareTo(). If database sorting is adequate for your purposes, leaving this property set to false provides better performance.

boolean: false


If true, use local transaction mode for initializing the service. Some database/JDBC driver combinations require this mode for JDBC meta-data queries when the GSARepository initializes. If false, a TransactionDemarcation with mode REQUIRED is used.

boolean: true


A ClientLockManager to use for locked mode caching. See the SQL Repository Caching chapter.



The name of the database account that was used to create the tables that underlie the repository. See Table Ownership Issues.

String: DYNAMO


The name of a metadata catalog. See Table Ownership Issues in the SQL Repository Queries chapter.



Configures the syntax to use for outer joins. See Outer Joins in the SQL Repository Queries chapter in the SQL Repository Queries chapter.



If paths in your content folders use a separator other than the default /, set this property to the appropriate separator.

String: /


Name of repository

String: SQLRepository


If true, the repository automatically dumps the contents of its item caches when it is stopped and reloads the same items into the caches when it is started again. Tags that reload the caches are written into the file specified by the cacheRestoreFile property.

boolean: false


A comma-separated list of SQL types for which the repository always uses the default JDBC type. You can set this property to string values of SQL types like varchar, or to the corresponding integer values specified in the class java.sql.Types (for example, -4).



If true, the Repository calls Connection.setAutoCommit() as needed. If false, the repository does not call that API. Some JDBC drivers, due to bugs, may cause errors in the GSARepository.initialize() method unless this property is set to false. If you use a Sybase database, this property is automatically set to true. If you need to set it to false, set autoCommitInitialization or localTransaction
to false.

boolean: false


If true, substitute pattern match queries for text search queries. This setting is not supported for production ATG applications. See Text Search Queries.

boolean: false


If true, multi-valued properties whose component type is RepositoryItem are guaranteed to not contain null entries. Instead, entries that are null as a result of repository filtering are not placed into the multi-valued property and the property is marked read-only.

boolean: false


The name of the SQL function to use to lower-case an expression. This is used for case-insensitive querying. If this property is null, no attempt is made to lower-case database expressions.

String: lower


If true, the getItem method returns items that are cached, but not yet added.

boolean: true


If you use distributed TCP caching mode, ATG maintains an item descriptor for the das_gsa_subscriber table. This property specifies which repository that item descriptor belongs to. By default, this item descriptor is in the /atg/dynamo/service/jdbc/SQLRepository repository. If for any reason you desire to use a different repository instance, you must make sure that each repository that uses distributed TCP caching mode has the same value for its subscriberRepository property.



For distributed TCP caching mode, should invalidation events be sent asynchronously, for better performance, or synchronously, to avoid a slight window of stale cache?

boolean: false


A TransactionManager to use for all transactions. All code in the same server should typically use the same TransactionManager.



If true, the Repository creates files that store the SQL type for each column in the database schema.

Boolean: false


If true, the Repository tries to optimize certain SQL delete operations based on the values in the cache. For certain usage patterns, such as when there are many multi-valued properties, setting this to true can result in a significant performance gain. Set this property to true only when (a) you define a version property for each item descriptor or (b) you use locked caching mode. Setting this property causes it to be set in each of the item descriptors defined in the Repository.

boolean: false


The Java class names of user defined property descriptors that should be loaded for this repository. User defined property descriptors register themselves in a static system-wide table. This property enables you to ensure that these classes are loaded before the repository loads any XML definitions that might refer to them.



If useSetAsciiStream is set to true, the SQL repository always uses setAsciiStream() instead of setString() in prepared statements. You can useSetAsciiStream instead of useSetUnicodeStream, but you lose the ability to handle internationalized values in the database.

boolean: false


If useSetBinaryStream is set to true, the SQL repository always uses setBinaryStream() instead of setBytes() in prepared statements. The setBinaryStream() is required for large byte arrays in some JDBC drivers.

boolean: false


If useSetObject is set to true, the SQL repository always uses setObject() instead of setInt(), setFloat(), setDouble(), or setString() in prepared statements.

boolean: false


If useSetUnicodeStream is set to true, the SQL repository always uses setUnicodeStream() instead of setString() in prepared statements. The setUnicodeStream() method is required for large Strings in some JDBC drivers. Setting useSetUnicodeStream to true is recommended if you use Oracle with internationalized content, but is not recommended if you do not have internationalized content in your database. Note that if you use MS SQL Server, you must set useSetUnicodeStream to false.

boolean: true


By default, the SQL repository does not use transactions when reading from the cache. This improves performance. To disable this optimization, set this property to true.

boolean: false


This character is used in queries to escape characters that are otherwise treated as wildcards. See the description of the escapeWildcards property.



The parser used to parse the XML definition file. This value is read-only


An XMLToolsFactory to use in parsing XML templates.


loading table of contents...