![JAR search and dependency download from the Maven repository](/logo.png)
org.smartloli.schema.JSqlSchema Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsql-client Show documentation
Show all versions of jsql-client Show documentation
Intermediate DataSet use sql to query , Through the jsql-client , we can use sql to get results .
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.smartloli.schema;
import java.util.HashMap;
import java.util.Map;
import org.apache.calcite.linq4j.tree.Expression;
import org.apache.calcite.schema.Function;
import org.apache.calcite.schema.Schema;
import org.apache.calcite.schema.SchemaPlus;
import org.apache.calcite.schema.Table;
import org.apache.calcite.schema.impl.AbstractSchema;
import org.smartloli.common.map.JSqlMapData;
import org.smartloli.common.map.JSqlMapData.Database;
import org.smartloli.common.type.JSqlTable;
import com.google.common.collect.Multimap;
/**
* Created by Mar 25, 2016
*
* @author smartloli
*
*/
public class JSqlSchema extends AbstractSchema {
private String dbName;
public JSqlSchema(String name) {
this.dbName = name;
}
@Override
public boolean isMutable() {
return super.isMutable();
}
@Override
public boolean contentsHaveChangedSince(long lastCheck, long now) {
return super.contentsHaveChangedSince(lastCheck, now);
}
@Override
public Expression getExpression(SchemaPlus parentSchema, String name) {
return super.getExpression(parentSchema, name);
}
@Override
protected Map getTableMap() {
Map tables = new HashMap();
Database database = JSqlMapData.MAP.get(this.dbName);
if (database == null)
return tables;
for (JSqlMapData.Table table : database.tables) {
tables.put(table.tableName, new JSqlTable(table));
}
return tables;
}
@Override
protected Multimap getFunctionMultimap() {
return super.getFunctionMultimap();
}
@Override
protected Map getSubSchemaMap() {
return super.getSubSchemaMap();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy