An SQL Repository component is derived from the class atg.adapter.gsa.GSARepository and includes the following properties:




Boolean, specifies whether to allow null values in multi-valued properties:

false (default): null values are automatically removed from multi-valued properties; an attempt to add null value to this property yields an exception.

true: null values can be set in multi-valued properties.

You can also enable null values for individual multi-valued properties by setting the allowNullValues attribute to true in its <property> tag.


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

Default: true


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

Default: true


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


If a target site is configured for switch deployment, specifies whether to pre-populate repository caches before the data source is switched. If this property is set to true, the repository prepopulates an on-deck set of caches with data from the next DataSource before the switch occurs.

Default: false

Note: This property must be set to false if you use Content Administration for deployment. For information about optimizing switch deployment caching, see the ATG Content Administration Programming Guide.


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.

Default: 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 DataSource (javax.sql.DataSource) to use for obtaining connections. DataSources should typically implement resource pooling for best performance.

This property is typically set as follows:



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.

Default: 5


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


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.

Default: 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.

Default: 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.

Default: 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 \.

Default: 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 the ATG Personalization Programming Guide for more information about profile groups and content groups.

Default: /atg/registry/RepositoryGroups


An IdGenerator to use for generating unique IDs for items.

Default: /atg/dynamo/service/IdGenerator


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, this setting allows the name All Profiles to be used to refer to the item descriptor named user:



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.

Default: 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.

Default: 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.

Default: true


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

Default: ClientLockManager


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

Default: 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 for valid settings.


Change this property only if paths in your content folders use a separator different than the default / (forward slash ).


Boolean, specifies whether this repository allows duplicate values in ordered multi-valued properties of type List and Array.

For example, if this property is set to true, you cannot set duplicate values in the String list property myList. Thus, attempts to update the datastore with the following additions will yield an error on the third duplicate item:


This setting can be overridden by individual properties (see Prohibiting Duplicate Values in the chapter SQL Repository Item Properties.

Default: false


The repository name.


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.

Default: false

Note: this property does not affect external caching software such as Oracle Coherence. See External SQL Repository Caching.


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).

Default: null


Boolean, if set to true enables selective cache invalidation. For more information, see the ATG Content Administration Programming Guide.


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 need to set it to false, set autoCommitInitialization or localTransactionModeInitialization to false.

Default: false


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

Default: 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.

Default: lower


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

Default: true


If you use distributed TCP caching mode, Oracle ATG Web Commerce 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.

Default: /atg/dynamo/service/jdbc/SQLRepository


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

Default: false


A string that is prepended to the table name when inserts or updates are made. See Table Ownership Issues.


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

Default: /atg/dynamo/transaction/TransactionManager


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

Default: 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.

Default: 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.

Default: 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.

Default: false


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

Default: 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.

Default: 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.

Default: false


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

Default: \


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



An XMLToolsFactory to use in parsing XML templates.

Default: /atg/dynamo/service/xml/