Gestor de datos de objeto

Object Data Manager (ODM) es un gestor de datos diseñado para almacenar información del sistema. La información se almacena y se mantiene como objetos con características asociadas.

También puede utilizar ODM para gestionar datos para programas de aplicación.

Los datos del sistema gestionados por ODM incluyen:

  • Información de configuración de dispositivo
  • Mostrar información para SMIT (menús, selectores y diálogos)
  • Datos vitales del producto para los procedimientos de instalación y actualización
  • Información de configuración de comunicaciones
  • Información de recursos del sistema

Puede crear, añadir, bloquear, almacenar, cambiar, obtener, mostrar, suprimir y descartar objetos y clases de objeto con ODM. Los mandatos ODM proporcionan una interfaz de línea de mandatos para estas funciones. Las subrutinas ODM acceden a estas funciones desde un programa de aplicación.

Con el sistema se proporcionan algunas clases de objeto. Estas clases de objeto se describen en la documentación de los productos del sistema específicos que las proporcionan.

ODM clases de objeto y almacenamiento de objetos

Los componentes básicos de ODM son clases de objeto y objetos. Para gestionar clases de objeto y objetos, utilice los mandatos y subrutinas de ODM . Específicamente, puede utilizar las características de creación y adición de estas interfaces para crear clases de objeto y objetos para el almacenamiento y la gestión de sus propios datos.

Plazo Descripción
clase de objeto Un grupo de objetos con la misma definición. Una clase de objeto consta de uno o más descriptores. Es similar a una tabla. Cada clase de objeto que cree con un mandato odmcreate o una subrutina odm_create_class se almacena en un archivo como una definición de lenguaje C de una matriz de estructuras.
Objeto Miembro de una clase de objeto. Es una entidad que requiere almacenamiento y gestión de datos. Es similar a un registro lógico en una base de datos.

Cada objeto que añada a la clase de objeto con un mandato odmadd o una subrutina odm_add_obj se almacena como una estructura de lenguaje C en el mismo archivo. Determine el directorio en el que almacenar este archivo al crear la clase de objeto.

Una clase de objeto es conceptualmente similar a una matriz de estructuras, siendo cada objeto una estructura que es un elemento de la matriz. Los valores se asocian con los descriptores de un objeto cuando el objeto se añade a una clase de objeto. Los descriptores de un objeto y sus valores asociados se pueden localizar y cambiar con los recursos de ODM .

A continuación se muestra un ejemplo de manipulación de clases de objeto y objetos.

  1. Para crear una clase de objeto llamadaFictional_Characters, especifique:
    class Fictional_Characters {
            char    Story_Star[20];
            char    Birthday[20];
            short   Age;
            char    Friend[20];
    };

    En este ejemplo, el Fictional_Charactersclase de objeto contiene cuatro descriptores:Story_Star,Birthday, yFriend, que tienen un tipo de descriptor de carácter y una longitud máxima de 20 caracteres; yAge, con un tipo de descriptor de short. Para crear los archivos de clase de objeto necesarios para ODM, procese este archivo con el mandato odmcreate o la subrutina odm_create_class .

  2. Una vez que haya creado una clase de objeto, puede añadir objetos a la clase utilizando el mandato odmadd o la subrutina odm_add_obj . Por ejemplo, especifique el código siguiente con el mandato odmadd para añadir los objetosCinderellaySnow WhitealFictional_Charactersclase de objeto, junto con valores para los descriptores que heredan:
    Fictional_Characters:
            Story_Star      = "Cinderella"
            Birthday        = "Once upon a time"
            Age             = 19
            Friend          = "mice"
    
    Fictional_Characters:
            Story_Star = "Snow White"
            Birthday = "Once upon a time"
            Age = 18
            Friend = "Fairy Godmother"

    La tabla Fictional_Characters muestra una imagen conceptual delFictional_Charactersclase de objeto con los dos objetos añadidosCinderellaySnow White.

    Tabla 1. Caracteres ficticios
    Estrella de historia (char) Cumpleaños (char) Edad (corta) Amigo (char)
    Cinderela Érase una vez 19 Ratones
    Blanco nieve Érase una vez 18 Hada madrina
    Retrieved data for 'Story_Star = "Cinderella"'
         Cinderella:
              Birthday = Once upon a time
              Age = 19
              Friend = Mice
  3. Después de laFictional_Charactersse crea la clase de objeto y los objetosCinderellaySnow Whitese añaden, los datos recuperados para'Story_Star = "Cinderella"'es:
    Cinderella:
            Birthday        = Once upon a time
            Age             = 19
            Friend          = mice

Utilización de mandatos ODM

Cuando utilice el mandato odmcreate o odmdrop para crear o descartar una clase de objeto, especifique el directorio desde el que se accederá al archivo de definición de clase utilizando uno de los siguientes:

  1. Almacene el archivo en el directorio predeterminado indicado por $ODMDIR, que es el directorio /etc/objrepos .
  2. Utilice el mandato export para establecer la variable de entorno ODMDIR para especificar un directorio para el almacenamiento.
  3. Utilice el mandato unset para desestablecer la variable de entorno ODMDIR y el mandato cd para cambiar el directorio actual por el directorio en el que desea almacenar las clases de objeto. A continuación, ejecute los mandatos ODM en ese directorio. El archivo que define las clases de objeto se almacenará en el directorio actual.

Cuando se utiliza odmdelete, odmadd, odmchange, odmshow, o el mandato odmget para trabajar con clases y objetos, especifique el directorio que contiene las clases de objeto utilizando uno de los siguientes:

  1. Trabajar con clases de objeto en el directorio predeterminado indicado por $ODMDIR, que es el directorio /etc/objrepos .
  2. Utilice el mandato export para establecer la variable de entorno ODMDIR para especificar el directorio.
  3. Desde la línea de mandatos, utilice el mandato export para establecer la variable de entorno ODMPATH en una serie que contenga una lista separada por dos puntos de directorios en los que buscar clases de objeto. Por ejemplo:
    $ export ODMPATH = /usr/lib/objrepos:/tmp/myrepos
    Los directorios de $ODMPATH sólo se buscan si el directorio indicado por $ODMDIR no contiene la clase de objeto.

Creación de una clase de objeto

Atención: La realización de cambios en los archivos que definen clases y objetos de objeto del sistema puede provocar problemas en el sistema. Consulte al administrador del sistema antes de utilizar el directorio /usr/lib/objrepos como directorio de almacenamiento para clases de objetos y objetos.

  1. Cree la definición para una o más clases de objeto en un archivo ASCII. El código de ejemplo deODM y la salida muestra un archivo ASCII que contiene varias definiciones de clase de objeto.
  2. Especifique el directorio en el que debe almacenarse el objeto generado.

"ODM Clase de objeto y Object Storage" describe los criterios utilizados en el momento de la creación de la clase de objeto para determinar el directorio en el que se almacenarán las clases de objeto y los objetos generados. La mayoría de las clases y objetos de objeto del sistema se almacenan en el directorio /usr/lib/objrepos .

Genera una clase objeto vacía ejecutando el comando odmcreate con el archivo ASCII de definiciones de clases objeto especificado como archivo de entrada ClassDescriptionFile.

Adición de objetos a una clase de objeto

Atención: La realización de cambios en los archivos que definen clases y objetos de objeto del sistema puede provocar problemas en el sistema. Consulte al administrador del sistema antes de utilizar el directorio /usr/lib/objrepos como directorio de almacenamiento para clases de objetos y objetos.

  1. Cree la clase de objeto a la que se añadirán los objetos. Consulte Creación de una clase de objeto para obtener instrucciones sobre cómo crear una clase de objeto.
  2. Cree las definiciones para uno o varios objetos. El código de ejemplo y salida deODM muestra un archivo ASCII que contiene varias definiciones de objeto.
  3. Especifique el directorio que contiene la clase de objeto en la que se almacenarán los objetos generados.

    "ODM Clase de objeto y Object Storage" describe los criterios utilizados en el momento de la creación de la clase de objeto para determinar el directorio en el que se almacenarán las clases de objeto y los objetos generados. La mayoría de las clases y objetos de objeto del sistema se almacenan en el directorio /usr/lib/objrepos .

  4. Añada objetos a una clase de objeto ejecutando el mandato odmadd con el archivo ASCII de definiciones de objeto especificado como el archivo de entrada InputFile .

Bloqueo de clases de objeto

ODM no bloquea implícitamente las clases de objeto ni los objetos. La coordinación del bloqueo y desbloqueo es responsabilidad de las aplicaciones que acceden a las clases de objeto. Sin embargo, ODM proporciona las subrutinas odm_lock y odm_unlock para controlar el bloqueo y desbloqueo de clases de objeto por parte de programas de aplicación.

Subrutina Descripción
bloqueo de odm Procesa una serie que es un nombre de vía de acceso y puede resolverse en un archivo de clase de objeto o un directorio de clases de objeto. Devuelve un identificador de bloqueo y establece un distintivo para indicar que la clase o clases de objeto especificadas definidas por el nombre de vía de acceso están en uso.

Cuando la subrutina odm_lock establece el distintivo de bloqueo, no inhabilita el uso de la clase de objeto por parte de otros procesos. Si la colisión de uso es un problema potencial, un programa de aplicación debe esperar explícitamente hasta que se le otorgue un bloqueo sobre una clase antes de utilizar la clase.

Otra aplicación no puede adquirir un bloqueo en el mismo nombre de vía de acceso mientras haya un bloqueo en vigor. Sin embargo, un bloqueo en un nombre de directorio no impide que otra aplicación adquiera un bloqueo en un subdirectorio o en los archivos dentro de ese directorio.

Para desbloquear una clase de objeto bloqueado, utilice una subrutina odm_unlock llamada con el identificador de bloqueo devuelto por la subrutina odm_lock .

Almacenamiento de clases de objeto y objetos

Cada clase de objeto que cree con un mandato odmcreate o una subrutina odm_create_class se almacena en un archivo como una definición de lenguaje C de una matriz de estructuras. Cada objeto que añada a la clase de objeto con un mandato odmadd o una subrutina odm_add_obj se almacena como una estructura de lenguaje C en el mismo archivo.

Determine el directorio en el que almacenar este archivo al crear la clase de objeto.

Los métodos de almacenamiento varían en función de si se utilizan mandatos o subrutinas para crear clases de objeto y objetos.

Atención: La realización de cambios en los archivos que definen clases y objetos de objeto del sistema puede provocar problemas en el sistema. Consulte al administrador del sistema antes de utilizar el directorio /usr/lib/objrepos como directorio de almacenamiento para clases de objetos y objetos.

Utilización de las subrutinas odm_create_class o odm_add_obj

La subrutina odm_create_class o odm_add_obj se utiliza para crear clases de objeto y objetos:

  • Si existe un requisito específico para que la aplicación almacene clases de objeto distintas de las especificadas por la variable de entorno ODMDIR , utilice la subrutina odm_set_path para restablecer la vía de acceso. Se recomienda encarecidamente que utilice esta subrutina para establecer explícitamente la vía de acceso de almacenamiento siempre que cree clases de objeto u objetos desde una aplicación.

    O

  • Antes de ejecutar la aplicación, utilice el mandato set desde la línea de mandatos para establecer la variable de entorno ODMDIR para especificar un directorio para el almacenamiento.

    O

  • Almacene el archivo en el repositorio de objetos utilizado para almacenar muchas de las clases de objetos del sistema, el directorio /usr/lib/objrepos .

Descriptores deODM

Un descriptor de Object Data Manager (ODM) es conceptualmente similar a una variable con un nombre y un tipo. Cuando se crea una clase de objeto, sus descriptores se definen como nombres de variable con tipos de descriptor ODM asociados. Cuando se añade un objeto a una clase de objeto, obtiene una copia de todos los descriptores de la clase de objeto. Los valores también se asocian con descriptores de objeto ya indicados.

ODM da soporte a varios tipos de descriptor:

Descriptor Definición
descriptor de terminal Define un tipo de datos numérico o de carácter.
descriptor de enlace Define una relación entre clases de objeto
descriptor de método Define una operación o método para un objeto

Utilice los descriptores de un objeto y sus valores asociados para definir criterios para recuperar objetos individuales de una clase de objeto. Dé formato a los criterios de selección que pasa a ODM tal como se define en Búsquedas de objetos deODM. No utilice el descriptor de terminal binario en los criterios de búsqueda debido a su longitud arbitraria.

Descriptores de terminalODM

Los descriptores de terminal definen los tipos de datos más primitivos utilizados por ODM. Un descriptor de terminal es básicamente una variable definida con un tipo de descriptor de terminal ODM . Los tipos de descriptor de terminal proporcionados por ODM son:

Descriptor Definición
corta Especifica un número de 2 bytes con signo.
long Especifica un número de 4 bytes con signo.
ulong Especifica un número de 4 bytes sin signo.
binary Especifica una serie de bits de longitud fija. El tipo de descriptor de terminal binario lo define el usuario en el momento de la creación de ODM . El tipo de descriptor de terminal binario no se puede utilizar en los criterios de selección.
char Especifica una serie de longitud fija terminada en nulo.
vchar Especifica una serie terminada en nulo de longitud variable. El tipo de descriptor de terminal vchar se puede utilizar en los criterios de selección.
long64/ODM_LONG_LONG/int64 Especifica un número de 8 bytes con signo.
ulong64/ODM_ULONG_LONG/uint64 Especifica un número de 8 bytes sin signo.

Descriptor de enlaceODM

El descriptor de enlace ODM establece una relación entre un objeto de una clase de objeto y un objeto de otra clase de objeto. Un descriptor de enlace es una variable definida con el tipo de descriptor de enlace ODM .

Por ejemplo, el código siguiente puede ser procesado por los recursos de creación de ODM para generar las clases de objeto Friend_Table y Fictional_Characters :

class Friend_Table {
        char    Friend_of[20];
        char    Friend[20];
};

  class Fictional_Characters {
        char    Story_Star[20];
        char    Birthday[20];
        short   Age;
        link    Friend_Table Friend_Table Friend_of Friends_of;
};

La clase de objeto Fictional_Characters utiliza un descriptor de enlace para hacer que los descriptores Friends_of se enlacen con elFriend_Tableclase de objeto. Para resolver el enlace, el descriptor Friends_of recupera objetos de la clase de objeto Friend_Table con datos coincidentes en sus descriptores Friend_of . El descriptor de enlace de la clase de objeto Fictional_Characters define la clase a la que se enlaza (Friend_Table), el descriptor al que se enlaza (Friend_of), y el nombre del descriptor de enlace (Friends_of) en la clase de objeto Fictional_Characters .

Se puede utilizar el código siguiente para añadir objetos a las clases de objeto Fictional_Characters y Friend_Table :

Fictional_Characters:
        Story_Star      = "Cinderella"
        Birthday        = "Once upon a time"
        Age             = 19
        Friends_of      = "Cinderella"
Fictional_Characters:
        Story_Star      = "Snow White"
        Birthday        = "Once upon a time"
        Age             = 18
        Friends_of      = "Snow White"
Friend_Table:
        Friend_of       = "Cinderella"
        Friend          = "Fairy Godmother"
Friend_Table:
        Friend_of       = "Cinderella"
        Friend          = "mice"
Friend_Table:
        Friend_of       = "Snow White"
        Friend          = "Sneezy"
Friend_Table:
        Friend_of       = "Snow White"
        Friend          = "Sleepy"
Friend_Table:
        Friend_of       = "Cinderella"
        Friend          = "Prince"
Friend_Table:
        Friend_of       = "Snow White"
        Friend          = "Happy"

Las tablas siguientes muestran una imagen conceptual de las clases de objeto Fictional_Characters y Friend_Table , los objetos añadidos a las clases y la relación de enlace entre ellas.

Story_Star (car) Cumpleaños (char) Edad (corta) Friends_of (enlace)
Cinderela Érase una vez 19 Cinderela
Blanco nieve Érase una vez 18 Blanco nieve
Retrieved data for 'Story_Star = "Cinderella"
     Cinderella:
          Birthday = Once upon a time
          Age = 19
          Friends_of = Cinderella
          Friend_of = Cinderella  

Hay un enlace directo entre las columnas "Friends_of" y "Friend_of" de las dos tablas. La tabla siguiente proporciona una imagen conceptual de una relación de enlace entre dos clases de objeto.

Amist_de (char) Amigo (char)
Cinderela Hada madrina
Cinderela ratones
Blanco nieve Estornudo
Blanco nieve Somnoliento
Cinderela Príncipe
Blanco nieve Feliz

Después de que se hayan creado las clases de objeto Fictional_Characters y Friend_Table y se hayan añadido los objetos, los datos recuperados paraStory_Star = 'Cinderella'sería:

Cinderella:
        Birthday         = Once upon a time
        Age              = 19
        Friends_of       = Cinderella
        Friend_of        = Cinderella

Para ver la relación ampliada entre las clases de objeto enlazadas, utilice el mandato odmget en la clase de objeto Friend_Table . Los datos recuperados para elFriend_of = 'Cinderella'clase de objeto sería:

Friend_Table:
        Friend_Of = "Cinderella"
        Friend = "Fairy Godmother"

Friend_Table:
        Friend_of = "Cinderella"
        Friend= "mice"

Friend_Table:
        Friend_of = "Cinderella"
        Friend = "Prince"

Descriptor de métodoODM

El descriptor de método ODM proporciona la definición de una clase de objeto con objetos que pueden tener métodos u operaciones asociados. Un descriptor de método es una variable definida con el tipo de descriptor de método ODM .

El valor de descriptor de operación o método para un objeto es una serie de caracteres que puede ser cualquier mandato, programa o script de shell ejecutado por invocación de método. Se puede definir un método u operación diferente para cada objeto de una clase de objeto. Las propias operaciones no forman parte de ODM; el programador de aplicaciones las define y codifica.

Una llamada a la subrutina odm_run_method llama al método para un objeto. La invocación de un método es un suceso síncrono, lo que hace que la operación ODM se detenga hasta que se complete la operación.

Por ejemplo, el código siguiente se puede especificar en los recursos de creación de ODM para generar la clase de objeto Supporting_Cast_Ratings :

class Supporting_Cast_Ratings {
        char    Others[20];
        short   Dexterity;
        short   Speed;
        short   Strength;
        method  Do_This;
};

En el ejemplo, elDo_Thisdescriptor es un descriptor de método definido para la clase de objeto Supporting_Cast_Ratings . El valor del descriptor de método puede ser una serie que especifique un mandato, programa o script de shell para una invocación futura mediante una subrutina odm_run_method .

El código siguiente es un ejemplo de cómo añadir objetos a la clase de objeto Supporting_Cast_Ratings :

Supporting_Cast_Ratings:
        Others          = "Sleepy"
        Dexterity       = 1
        Speed           = 1
        Strength        = 3
        Do_This   = "echo Sleepy has speed of 1"
Supporting_Cast_Ratings:
        Others          = "Fairy Godmother"
        Dexterity       = 10
        Speed           = 10
        Strength        = 10
        Do_This   = "odmget -q "Others='Fairy Godmother'" Supporting_Cast_Ratings"

La siguiente tabla muestra una imagen conceptual de laSupporting_Cast_Ratingsclase de objeto con elDo_Thisdescriptor de método y operaciones asociadas con objetos individuales de la clase.

Otros (char) Destreza (corto) Velocidad (corta) Longitud (corta) Do_This (método)
Somnoliento 1 1 3 echo Sleepy has speed of 1
Hada madrina 10 10 10 odmget —q "Others='Fairy Godmother'"Supporting_Cast_Ratings"
odm_run_method  run of Sleepy's method displays
(using echo):
"Sleepy has speed of 1"

Después de laSupporting_Cast_Ratingsse crea la clase de objeto y se añaden los objetos, una invocación (mediante la subrutina odm_run_method ) del método definido paraSleepyharía que se visualizara el mandato echo :

Sleepy has speed of 1

Búsquedas de objetos deODM

Muchas rutinas ODM requieren que se seleccionen uno o más objetos de una clase de objeto especificada para su proceso. Puede incluir criterios de búsqueda en forma de calificadores al seleccionar objetos con determinadas rutinas.

cualificador
Un parámetro de serie terminado en nulo en llamadas de subrutina ODM que proporciona los criterios de calificación para que los objetos recuperen

Los nombres de descriptor y los criterios de calificación especificados por este parámetro determinan qué objetos de la clase de objeto se seleccionan para su posterior proceso. Cada calificador contiene uno o más predicados conectados con operadores lógicos. Cada predicado consta de un nombre de descriptor, un operador de comparación y una constante.

A continuación se muestra un calificador con tres predicados unidos por dos operadores lógicos:

SUPPNO=30 AND (PARTNO>0 AND PARTNO<101)

En este ejemplo, toda la serie se considera el calificador. Los tres predicados sonSUPPNO=30,PARTNO>0, yPARTNO<101, y el operador lógico AND se utiliza para unir los predicados. En el primer predicado,SUPPNOes el nombre del descriptor en un objeto, el=(signo igual) es un operador de comparación, y30es la constante con la que se compara el valor del descriptor.

Cada predicado especifica una prueba aplicada a un descriptor que se define para cada objeto de la clase de objeto. La prueba es una comparación entre el valor del descriptor de un objeto y la constante especificada. El primer predicado del ejemplo muestra una comparación = (igual a) entre el valor de un descriptor(SUPPNO)y una constante(30).

La parte del calificador entre paréntesis

PARTNO>0 AND PARTNO<101

contiene dos predicados unidos por el operador lógico AND. Los 2PARTNOel descriptor se prueba para un valor mayor que 0 en el primer predicado y, a continuación, se prueba para un valor menor que101en el segundo predicado. A continuación, los dos predicados se concatenan lógicamente para determinar un valor para esa parte del calificador. Por ejemplo, siPARTNOes el nombre de descriptor de un número de pieza en un inventario de la empresa; a continuación, esta parte del calificador define una selección para todos los productos con números de pieza mayores que 0 y menores que 101.

En otro ejemplo, el calificador:

lname='Smith' AND Company.Dept='099' AND Salary<2500

se puede utilizar para seleccionar todo el mundo (en ODM, cada objeto) con un apellido de Smith que esté en el Departamento 099 y tenga un salario inferior a 2500 $. Tenga en cuenta que elDeptel nombre de descriptor se califica con suCompanypara crear un descriptor exclusivo.

Nombres de descriptor en predicados ODM

En ODM, un nombre de descriptor no es necesariamente exclusivo. Puede utilizar un nombre de descriptor en más de una clase de objeto. Cuando este es el caso, especifique el nombre de clase de objeto junto con el nombre de descriptor en un predicado para crear una referencia exclusiva al descriptor.

Operadores de comparación en predicados ODM

Los siguientes son operadores de comparación válidos:

Operador Definición
= Igual a
!= No igual a
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
LIKE Similar a; encuentra patrones en datos de serie de caracteres

Las comparaciones sólo se pueden realizar entre tipos de datos compatibles.

operador de comparación LIKE

El operador LIKE permite buscar un patrón dentro de un tipo de descriptor de caracteres. Por ejemplo, el predicado:

NAME LIKE 'ANNE'

define una búsqueda para el valorANNEen elNAMEen cada objeto de la clase de objeto especificada. En este caso, el ejemplo es equivalente a:

NAME = 'ANNE'

También puede utilizar el operador LIKE con los siguientes caracteres y convenios de coincidencia de patrón:

  • Utilice? (signo de interrogación) para representar cualquier carácter único. Ejemplo de predicado:
    NAME LIKE '?A?'
    define una búsqueda de cualquier serie de tres caracteres que tenga A como segundo carácter en el valor delNAMEdescriptor de un objeto. Los valores del descriptorPAM,DAN, yPATtodos cumplen este criterio de búsqueda.
  • Utilice el * (asterisco) para representar cualquier serie de cero o más caracteres. Ejemplo de predicado:
    NAME LIKE '*ANNE*'
    define una búsqueda de cualquier serie que contenga el valorANNEen elNAMEdescriptor de un objeto. Los valores del descriptorLIZANNE,ANNETTE, yANNEtodos cumplen este criterio de búsqueda.
  • Utilice [] (corchetes) para que coincida con cualquiera de los caracteres incluidos entre corchetes. Ejemplo de predicado:
    NAME LIKE '[ST]*'
    define una búsqueda de cualquier valor de descriptor que empiece por S o T en elNAMEdescriptor de un objeto.

    Utilice a-(signo menos) para especificar un rango de caracteres. Ejemplo de predicado:

    NAME LIKE '[AD-GST]*'
    define una búsqueda de cualquier valor de descriptor que empiece por cualquiera de los caracteres A, D, E, F, G, S, o T.
  • Utilice [!] (corchetes que encierran un signo de exclamación) para que coincida con cualquier carácter individual excepto uno de los incluidos entre corchetes. Ejemplo de predicado:
    NAME LIKE '[!ST]*'
    define una búsqueda de cualquier valor de descriptor excepto los que empiezan por S o T en elNAMEdescriptor de un objeto.

    Puede utilizar los caracteres y convenios de coincidencia de patrón en cualquier combinación de la serie.

Constantes en predicados ODM

La constante especificada puede ser una constante numérica o una constante de serie de caracteres:

  1. Las constantes numéricas en los predicados ODM constan de un signo opcional seguido de un número (con o sin coma decimal), seguido opcionalmente de un exponente marcado con la letra E o e. Si se utiliza, la letra E o e debe ir seguida de un exponente que se pueda firmar.

    Algunas constantes numéricas válidas son:

    2            2.545   0.5   -2e5   2.11E0
    +4.555e-10   4E0     -10    999   +42

    El exponente E0 se puede utilizar para no especificar ningún exponente.

  2. Las constantes de serie de caracteres deben estar entre comillas simples:

    'smith'   '91'

    Se considera que todas las constantes de serie de caracteres tienen una longitud variable. Para representar una comilla simple dentro de una constante de tipo serie, utilice dos comillas simples. Por ejemplo:

    'DON''T GO'

    se interpreta como:

    DON'T GO

operador lógico AND para predicados

El operador lógico AND se puede utilizar con predicados. Utilice AND o y para el operador lógico AND.

El operador lógico AND conecta dos o más predicados. Ejemplo de calificador:

predicate1 AND predicate2 AND predicate3

especificapredicate1concatenado lógicamente conpredicate2seguido por el resultado, que se concatena lógicamente conpredicate3.