Skip to main content
Previous section   Next section

Server Configuration Options

There are a few configuration options for the server that can affect how you write your code. This chapter discusses the following topics:

Most of the configuration details are saved in a file called cache.cpf (the CPF file).

Support for Long String Operations

As noted earlier, Caché allocates a fixed amount of memory to hold the results of string operations. If a string expression exceeds the amount of memory allocated, a <MAXSTRING> error results.

  • If long strings are not enabled, this limit is 32,767 characters.

    For class definitions, this limit imposes a size limit on string properties. As noted earlier, when you need to work with strings that exceed this limit, you can use streams; see “Stream Interface Classes.”

  • If you enable long strings, then the limit is 3,641,144 characters.

    For applications that use Caché MVBasic, you must enable long strings.

If long string operations are enabled:

  • There is no intrinsic difference in disk space used apart from the size of the data itself.

  • More memory is allocated. Whether the memory is actually used depends on two factors:

    • Whether the process actually performs an operation involving long strings.

    • How the operating system uses memory. Some operating systems use a lazy algorithm for memory allocation and will actually use virtual memory only when needed.

  • Long strings over ECP are not cached, and therefore cause additional traffic over the network.

Enabling Long String Operations

To enable long strings:

  1. Access the Management Portal.

  2. Select System Administration > Configuration > System Configuration > Memory and Startup.

  3. Check the value of the Enable Long Strings field. If this field is not checked, select it.

  4. If you make any change, select Save.

Settings for Caché SQL

To view and modify the settings that affect the behavior of Caché SQL:

  1. Access the Management Portal.

  2. Select System Administration > Configuration > SQL and Object Settings > General SQL Settings.

    This page lists many settings. The most important ones are typically these:

    • Cached Query - Save Source — This specifies whether to save the routine and INT code that Caché generates when you execute any Caché SQL except for embedded SQL. (In all cases, the generated OBJ is kept. By default, the routine and INT code is not kept.)

      The query results are not stored in the cache.

    • Default SQL Schema Name — This specifies the default schema name to use when creating tables from external data. This schema name is used for any tables that do not have a specified schema.

    • Support Delimited Identifiers — This controls how Caché SQL treats characters contained within a pair of double quotes.

      If you enable support for delimited identifiers, you can use double quotes around the names of fields, which enables you to refer to fields whose names are not regular identifiers. Such fields might, for example, use SQL reserved words as names.

      If you disable support for delimited identifiers, characters within double quotes are treated as string literals, and it is not possible to refer to fields whose names are not regular identifiers.

  3. If you make any change, select Save.

Use of IPv6 Addressing

Caché always accepts IPv4 addresses and DNS forms of addressing (host names, with or without domain qualifiers). You can configure Caché to also accept IPv6 addresses; see “IPv6 Support” in the chapter “Configuring Caché” in the Caché System Administration Guide.

Configuring a Server Programmatically

You can programmatically change some of the operational parameters of Caché by invoking specific utilities; this is how you would likely change the configuration for your customers. For example:

  • Config.Miscellaneous includes methods to set system-wide default and settings. One method, for example, enables long string operations.

  • %SYSTEM.Process includes methods to set environment values for the life of the current process.

  • %SYSTEM.SQL includes methods for changing SQL settings.

For details, see the InterSystems Class Reference for these classes.

For More Information

For more information on the topics covered in this chapter, see the following:

Previous section   Next section