Package com.foundationdb.ais.model

Examples of com.foundationdb.ais.model.View


            }

            @Override
            public Row next() {
                while(it.hasNext()) {
                    View view = it.next();
                    if(isAccessible(session, view.getName())) {
                        return new ValuesRow(rowType,
                                            null,       // view catalog
                                             view.getName().getSchemaName(),
                                             view.getName().getTableName(),
                                             view.getDefinition(),
                                             checkOption,
                                             boolResult(false),
                                             boolResult(false),
                                             boolResult(false),
                                             boolResult(false),
View Full Code Here


                                                  view.getName().getTableName(),
                                                  reference.getSchemaName(),
                                                  reference.getTableName());
                }
                // If reference is to another view, it must come first.
                View refView = schema.getView(reference.getTableName());
                if (refView != null) {
                    addView(view, into, seen, schema, schemaName);
                }
            }
            into.add(view);
View Full Code Here

                                  QueryContext context) {
        TableName fullName = convertName(defaultSchemaName, createView.getObjectName());
        String schemaName = fullName.getSchemaName();
        String viewName = fullName.getTableName();

        View curView = ddlFunctions.getAIS(session).getView(schemaName, viewName);
        if((curView != null) &&
           skipOrThrow(context, createView.getExistenceCheck(), curView, new DuplicateViewException(schemaName, viewName))) {
            return;
        }
       
        TypesTranslator typesTranslator = ddlFunctions.getTypesTranslator();
        AISViewDefinition viewdef = binderContext.getViewDefinition(createView);
        Map<TableName,Collection<String>> tableColumnReferences = viewdef.getTableColumnReferences();
        AISBuilder builder = new AISBuilder();
        builder.view(schemaName, viewName, viewdef.getQueryExpression(),
                     binderContext.getParserProperties(schemaName), tableColumnReferences);
        int colpos = 0;
        for (ResultColumn rc : viewdef.getResultColumns()) {
            DataTypeDescriptor type = rc.getType();
            if (type == null) {
                if (rc.getExpression().getNodeType() != NodeTypes.UNTYPED_NULL_CONSTANT_NODE)
                    throw new AkibanInternalException(rc.getName() + " has unknown type");
                type = new DataTypeDescriptor(TypeId.CHAR_ID, true, 0);
            }
            TableDDL.addColumn(builder, typesTranslator,
                               schemaName, viewName, rc.getName(), colpos++,
                               type, null, null);
        }
        View view = builder.akibanInformationSchema().getView(schemaName, viewName);
        ddlFunctions.createView(session, view);
    }
View Full Code Here

                                 String defaultSchemaName,
                                 DropViewNode dropView,
                                 AISBinderContext binderContext,
                                 QueryContext context) {
        TableName viewName = convertName(defaultSchemaName, dropView.getObjectName());
        View curView = ddlFunctions.getAIS(session).getView(viewName);

        if((curView == null) &&
           skipOrThrow(context, dropView.getExistenceCheck(), curView, new UndefinedViewException(viewName))) {
            return;
        }
View Full Code Here

        String schemaName = origName.getSchemaName();
        if (schemaName == null)
            schemaName = defaultSchemaName;
        String tableName = origName.getTableName();
        Columnar table = null;
        View view = ais.getView(schemaName, tableName);
        if (view != null) {
            if (!context.isAccessible(view.getName())) {
                view = null;
            }
            else if (expandViews) {
                ViewDefinition viewdef = context.getViewDefinition(view);
                FromSubquery viewSubquery;
View Full Code Here

                        }
                    }
                    viewIt = getAIS(session).getViews().values().iterator();
                }
                while(viewIt.hasNext()) {
                    View view = viewIt.next();
                    if(isAccessible(session, view.getName())) {
                        return new ValuesRow(rowType,
                                null,
                                 view.getName().getSchemaName(),
                                 view.getName().getTableName(),
                                 "VIEW",
                                 null,      //self reference
                                 null,      //reference generation
                                 boolResult(false), // insertable
                                 boolResult(false), // is typed
View Full Code Here

                            }
                        }
                        viewIt = getAIS(session).getViews().values().iterator();
                    }
                    while(viewIt.hasNext()) {
                        View view = viewIt.next();
                        if(isAccessible(session, view.getName())) {
                            columnIt = view.getColumns().iterator();
                            continue getCols;
                        }
                    }
                    return null;
                }
View Full Code Here

    }

    private void expectViews(String schemaName, String... viewNames) {
        final AkibanInformationSchema ais = ddl().getAIS(session());
        for (String name : viewNames) {
            final View view = ais.getView(new TableName(schemaName, name));
            assertNotNull (schemaName + "." + name + " doesn't exist", view);
        }
       
    }
View Full Code Here

       
    }
    private void expectNotViews(String schemaName, String... viewNames) {
        final AkibanInformationSchema ais = ddl().getAIS(session());
        for (String name : viewNames) {
            final View view = ais.getView(new TableName(schemaName, name));
            assertNull (schemaName + "." + name + " still exists", view);
        }
    }
View Full Code Here

        }

        @Override
        public NewViewBuilder references(String schema, String table, String... columns) {
            checkUsable();
            View view = aisb.akibanInformationSchema().getView(this.schema, this.object);
            TableName tableName = TableName.create(schema, table);
            Collection<String> entry = view.getTableColumnReferences().get(tableName);
            if (entry == null) {
                entry = new HashSet<>();
                view.getTableColumnReferences().put(tableName, entry);
            }
            for (String colname : columns) {
                entry.add(colname);
            }
            return this;
View Full Code Here

TOP

Related Classes of com.foundationdb.ais.model.View

Copyright © 2018 www.massapicom. 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.