@Override public void addFunction(PFunction function) throws SQLException { this.metaData.addFunction(function); }
@Override public void addFunction(PFunction function) throws SQLException { readWriteLock.writeLock().lock(); try { delegate.addFunction(function); } finally { readWriteLock.writeLock().unlock(); } }
@Override public void addFunction(PFunction function) throws SQLException { // TODO: since a connection is only used by one thread at a time, // we could modify this metadata in place since it's not shared. if (scn == null || scn > function.getTimeStamp()) { metaData.addFunction(function); } // Cascade through to connectionQueryServices too getQueryServices().addFunction(function); }
@Override public void addFunction(PFunction function) throws SQLException { synchronized (latestMetaDataLock) { try { throwConnectionClosedIfNullMetaData(); // If existing table isn't older than new table, don't replace // If a client opens a connection at an earlier timestamp, this can happen PFunction existingFunction = latestMetaData.getFunction(new PTableKey(function.getTenantId(), function.getFunctionName())); if (existingFunction.getTimeStamp() >= function.getTimeStamp()) { return; } } catch (FunctionNotFoundException e) {} latestMetaData.addFunction(function); latestMetaDataLock.notifyAll(); } }
@Override public void addFunction(PFunction function) throws SQLException { this.metaData.addFunction(function); }
@Override public void addFunction(PFunction function) throws SQLException { this.metaData.addFunction(function); }
@Override public void addFunction(PFunction function) throws SQLException { readWriteLock.writeLock().lock(); try { delegate.addFunction(function); } finally { readWriteLock.writeLock().unlock(); } }
@Override public void addFunction(PFunction function) throws SQLException { readWriteLock.writeLock().lock(); try { delegate.addFunction(function); } finally { readWriteLock.writeLock().unlock(); } }
@Override public void addFunction(PFunction function) throws SQLException { // TODO: since a connection is only used by one thread at a time, // we could modify this metadata in place since it's not shared. if (scn == null || scn > function.getTimeStamp()) { metaData.addFunction(function); } // Cascade through to connectionQueryServices too getQueryServices().addFunction(function); }
@Override public void addFunction(PFunction function) throws SQLException { // TODO: since a connection is only used by one thread at a time, // we could modify this metadata in place since it's not shared. if (scn == null || scn > function.getTimeStamp()) { metaData.addFunction(function); } // Cascade through to connectionQueryServices too getQueryServices().addFunction(function); }
@Override public void addFunction(PFunction function) throws SQLException { synchronized (latestMetaDataLock) { try { throwConnectionClosedIfNullMetaData(); // If existing table isn't older than new table, don't replace // If a client opens a connection at an earlier timestamp, this can happen PFunction existingFunction = latestMetaData.getFunction(new PTableKey(function.getTenantId(), function.getFunctionName())); if (existingFunction.getTimeStamp() >= function.getTimeStamp()) { return; } } catch (FunctionNotFoundException e) {} latestMetaData.addFunction(function); latestMetaDataLock.notifyAll(); } }
@Override public void addFunction(PFunction function) throws SQLException { synchronized (latestMetaDataLock) { try { throwConnectionClosedIfNullMetaData(); // If existing table isn't older than new table, don't replace // If a client opens a connection at an earlier timestamp, this can happen PFunction existingFunction = latestMetaData.getFunction(new PTableKey(function.getTenantId(), function.getFunctionName())); if (existingFunction.getTimeStamp() >= function.getTimeStamp()) { return; } } catch (FunctionNotFoundException e) {} latestMetaData.addFunction(function); latestMetaDataLock.notifyAll(); } }