Examples of AliasDescriptor


Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

                      char nameSpace,
                      TransactionController tc,
                      String authorizationID)
                        throws StandardException {
      // For system routines, a valid alias descriptor will be returned.
      AliasDescriptor ad = getAliasDescriptor(schemaID, routineName,
                          nameSpace);
        //
        // When upgrading from 10.1, it can happen that we haven't yet created
        // all public procedures. We forgive that possibility here and just return.
        //
        if ( ad == null ) { return; }
     
      UUID routineUUID = ad.getUUID();
      createRoutinePermPublicDescriptor(routineUUID, tc, authorizationID);
    }
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

        String                          functionName = td.getDescriptorName();
        SchemaDescriptor     sd = getSchemaDescriptor( td.getSchemaName(), null, true );

        if ( sd != null )
        {
            AliasDescriptor         ad = getAliasDescriptor( sd.getUUID().toString(), functionName, AliasInfo.ALIAS_TYPE_FUNCTION_AS_CHAR );

            if ( (ad != null) && ad.isTableFunction() ) { return ad.getJavaClassName(); }

            throw StandardException.newException
            ( SQLState.LANG_NOT_TABLE_FUNCTION, schemaName, functionName );
        }
    }
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

        String[] details = DataDictionaryImpl.SYSFUN_FUNCTIONS[f];
        String name = details[0];
        if (!name.equals(routineName))
          continue;
       
        AliasDescriptor ad = DataDictionaryImpl.SYSFUN_AD[f];
        if (ad == null)
        {
          // details[1] Return type
          TypeDescriptor rt =
            DataTypeDescriptor.getBuiltInDataTypeDescriptor(details[1]);

          // details[4] - zero or single argument type
          String paramType = details[4];
          TypeDescriptor[] pt;
          String[] paramNames;
          int[] paramModes;
          int paramCount;
          if (paramType != null)
          {     
            paramNames = DataDictionaryImpl.SYSFUN_PNAME;
            paramCount = 1;
            paramModes = DataDictionaryImpl.SYSFUN_PMODE;
            pt = new TypeDescriptor[1];
            pt[0] =
              DataTypeDescriptor.getBuiltInDataTypeDescriptor(paramType);
          }
          else
          {
            // no parameters
            paramNames = null;
            pt = null;
            paramCount = 0;
            paramModes = null;
          }
         
          // details[3] = java method
          RoutineAliasInfo ai = new RoutineAliasInfo(details[3],
              paramCount, paramNames,
              pt, paramModes, 0,
              RoutineAliasInfo.PS_JAVA, RoutineAliasInfo.NO_SQL,
              false, rt);

          // details[2] = class name
          ad = new AliasDescriptor(this, uuidFactory.createUUID(), name,
              uuidFactory.recreateUUID(schemaID),
              details[2], AliasInfo.ALIAS_TYPE_FUNCTION_AS_CHAR,
              AliasInfo.ALIAS_NAME_SPACE_FUNCTION_AS_CHAR,
              true, ai, null);

          DataDictionaryImpl.SYSFUN_AD[f] = ad;
        }
        list.add(ad);
      }
      return list;
    }
   
    AliasDescriptor ad = getAliasDescriptor(schemaID, routineName, nameSpace);
    if (ad != null) {
      list.add(ad);
    }
    return list;
  }
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

                                                    //  NO_SQL
                true,                               // true - calledOnNullInput
                return_type);

    UUID routine_uuid = getUUIDFactory().createUUID();
        AliasDescriptor ads =
            new AliasDescriptor(
                this,
                routine_uuid,
                routine_name,
                schema_uuid,
                procClass, 
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

                      char nameSpace,
                      TransactionController tc,
                      String authorizationID)
                        throws StandardException {
      // For system routines, a valid alias descriptor will be returned.
      AliasDescriptor ad = getAliasDescriptor(schemaID, routineName,
                          nameSpace);
     
      if (SanityManager.DEBUG) {
      SanityManager.ASSERT((ad != null), "Failed to get AliasDescriptor"
                      + " of the routine");
      }
     
      UUID routineUUID = ad.getUUID();
      createRoutinePermPublicDescriptor(routineUUID, tc, authorizationID);
    }
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

            sd = getSchemaDescriptor( rd.name.getSchemaName(), true);

            if (!sd.isSchemaWithGrantableRoutines())
                throw StandardException.newException(SQLState.AUTH_GRANT_REVOKE_NOT_ALLOWED, rd.name.getFullTableName());
       
            AliasDescriptor proc = null;
            RoutineAliasInfo routineInfo = null;
            java.util.List list = getDataDictionary().getRoutineList(
                sd.getUUID().toString(), rd.name.getTableName(),
                rd.isFunction ? AliasInfo.ALIAS_NAME_SPACE_FUNCTION_AS_CHAR : AliasInfo.ALIAS_NAME_SPACE_PROCEDURE_AS_CHAR
                );

      // Can not grant/revoke permissions from self
      if (grantees.contains(sd.getAuthorizationId()))
        throw StandardException.newException(SQLState.AUTH_GRANT_REVOKE_NOT_ALLOWED,
             rd.name.getFullTableName());

            if( rd.paramTypeList == null)
            {
                // No signature was specified. Make sure that there is exactly one routine with that name.
                if( list.size() > 1)
                    throw StandardException.newException( ( rd.isFunction ? SQLState.LANG_AMBIGUOUS_FUNCTION_NAME
                                                            : SQLState.LANG_AMBIGUOUS_PROCEDURE_NAME),
                                                          rd.name.getFullTableName());
                if( list.size() != 1)
                    throw StandardException.newException(SQLState.LANG_NO_SUCH_METHOD_ALIAS, rd.name.getFullTableName());
                proc = (AliasDescriptor) list.get(0);
            }
            else
            {
                // The full signature was specified
                boolean found = false;
                for (int i = list.size() - 1; (!found) && i >= 0; i--)
                {
                    proc = (AliasDescriptor) list.get(i);

                    routineInfo = (RoutineAliasInfo) proc.getAliasInfo();
                    int parameterCount = routineInfo.getParameterCount();
                    if (parameterCount != rd.paramTypeList.size())
                        continue;
                    TypeDescriptor[] parameterTypes = routineInfo.getParameterTypes();
                    found = true;
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

        String[] details = DataDictionaryImpl.SYSFUN_FUNCTIONS[f];
        String name = details[0];
        if (!name.equals(routineName))
          continue;
       
        AliasDescriptor ad = DataDictionaryImpl.SYSFUN_AD[f];
        if (ad == null)
        {
          // details[1] Return type
          TypeDescriptor rt =
            DataTypeDescriptor.getBuiltInDataTypeDescriptor(details[1]);

          // details[4] - zero or single argument type
          String paramType = details[4];
          TypeDescriptor[] pt;
          String[] paramNames;
          int[] paramModes;
          int paramCount;
          if (paramType != null)
          {     
            paramNames = DataDictionaryImpl.SYSFUN_PNAME;
            paramCount = 1;
            paramModes = DataDictionaryImpl.SYSFUN_PMODE;
            pt = new TypeDescriptor[1];
            pt[0] =
              DataTypeDescriptor.getBuiltInDataTypeDescriptor(paramType);
          }
          else
          {
            // no parameters
            paramNames = null;
            pt = null;
            paramCount = 0;
            paramModes = null;
          }
         
          // details[3] = java method
          RoutineAliasInfo ai = new RoutineAliasInfo(details[3],
              paramCount, paramNames,
              pt, paramModes, 0,
              RoutineAliasInfo.PS_JAVA, RoutineAliasInfo.NO_SQL,
              false, rt);

          // details[2] = class name
          ad = new AliasDescriptor(this, uuidFactory.createUUID(), name,
              uuidFactory.recreateUUID(schemaID),
              details[2], AliasInfo.ALIAS_TYPE_FUNCTION_AS_CHAR,
              AliasInfo.ALIAS_NAME_SPACE_FUNCTION_AS_CHAR,
              true, ai, null);

          DataDictionaryImpl.SYSFUN_AD[f] = ad;
        }
        list.add(ad);
      }
      return list;
    }
   
    AliasDescriptor ad = getAliasDescriptor(schemaID, routineName, nameSpace);
    if (ad != null) {
      list.add(ad);
    }
    return list;
  }
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

                                                    //  NO_SQL
                true,                               // true - calledOnNullInput
                return_type);

    UUID routine_uuid = getUUIDFactory().createUUID();
        AliasDescriptor ads =
            new AliasDescriptor(
                this,
                routine_uuid,
                routine_name,
                schema_uuid,
                procClass, 
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

                      char nameSpace,
                      TransactionController tc,
                      String authorizationID)
                        throws StandardException {
      // For system routines, a valid alias descriptor will be returned.
      AliasDescriptor ad = getAliasDescriptor(schemaID, routineName,
                          nameSpace);
     
      if (SanityManager.DEBUG) {
      SanityManager.ASSERT((ad != null), "Failed to get AliasDescriptor"
                      + " of the routine");
      }
     
      UUID routineUUID = ad.getUUID();
      createRoutinePermPublicDescriptor(routineUUID, tc, authorizationID);
    }
View Full Code Here

Examples of org.apache.derby.iapi.sql.dictionary.AliasDescriptor

    boolean          systemAlias = false;
    AliasInfo        aliasInfo = null;

    if (td != null) {

      AliasDescriptor     ad = (AliasDescriptor)td;
      aliasID  = ad.getUUID().toString();
      aliasName = ad.getDescriptorName();
      schemaID  = ad.getSchemaUUID().toString();
      javaClassName  = ad.getJavaClassName();
      cAliasType = ad.getAliasType();
      cNameSpace = ad.getNameSpace();
      systemAlias = ad.getSystemAlias();
      aliasInfo = ad.getAliasInfo();
      specificName = ad.getSpecificName();

      char[] charArray = new char[1];
      charArray[0] = cAliasType;
      sAliasType = new String(charArray);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.