@Override StringBuilder buildQueryString(List<Object> values, CodecRegistry codecRegistry) { return statement.buildQueryString(values, codecRegistry); }
private void maybeRebuildCache(CodecRegistry codecRegistry) { if (!dirty && cache != null) return; StringBuilder sb; values = null; if (hasBindMarkers || forceNoValues) { sb = buildQueryString(null, codecRegistry); } else { values = new ArrayList<Object>(); sb = buildQueryString(values, codecRegistry); if (values.size() > 65535) throw new IllegalArgumentException( "Too many values for built statement, the maximum allowed is 65535"); if (values.isEmpty()) values = null; } maybeAddSemicolon(sb); cache = sb.toString(); dirty = false; }
@Override public String toString() { try { if (forceNoValues) return getQueryString(); // 1) try first with all values inlined (will not work if some values require custom codecs, // or if the required codecs are registered in a different CodecRegistry instance than the // default one) return maybeAddSemicolon(buildQueryString(null, CodecRegistry.DEFAULT_INSTANCE)).toString(); } catch (RuntimeException e1) { // 2) try next with bind markers for all values to avoid usage of custom codecs try { return maybeAddSemicolon( buildQueryString(new ArrayList<Object>(), CodecRegistry.DEFAULT_INSTANCE)) .toString(); } catch (RuntimeException e2) { // Ugly but we have absolutely no context to get the registry from return String.format( "built query (could not generate with default codec registry: %s)", e2.getMessage()); } } }
@Override StringBuilder buildQueryString(List<Object> variables, CodecRegistry codecRegistry) { StringBuilder builder = new StringBuilder(); builder.append( isCounterOp() ? "BEGIN COUNTER BATCH" : (logged ? "BEGIN BATCH" : "BEGIN UNLOGGED BATCH")); if (!usings.usings.isEmpty()) { builder.append(" USING "); Utils.joinAndAppend(builder, codecRegistry, " AND ", usings.usings, variables); } builder.append(' '); for (int i = 0; i < statements.size(); i++) { RegularStatement stmt = statements.get(i); if (stmt instanceof BuiltStatement) { BuiltStatement bst = (BuiltStatement) stmt; builder.append(maybeAddSemicolon(bst.buildQueryString(variables, codecRegistry))); } else { String str = stmt.getQueryString(codecRegistry); builder.append(str); if (!str.trim().endsWith(";")) builder.append(';'); // Note that we force hasBindMarkers if there is any non-BuiltStatement, so we know // that we can only get there with variables == null assert variables == null; } } builder.append("APPLY BATCH;"); return builder; }
@Override StringBuilder buildQueryString(List<ByteBuffer> values) { return statement.buildQueryString(values); }
@Override StringBuilder buildQueryString(List<Object> values, CodecRegistry codecRegistry) { return statement.buildQueryString(values, codecRegistry); }
@Override StringBuilder buildQueryString(List<Object> values, CodecRegistry codecRegistry) { return statement.buildQueryString(values, codecRegistry); }
@Override StringBuilder buildQueryString(List<Object> values, CodecRegistry codecRegistry) { return statement.buildQueryString(values, codecRegistry); }
private void maybeRebuildCache() { if (!dirty && cache != null) return; StringBuilder sb; values = null; if (hasBindMarkers || forceNoValues) { sb = buildQueryString(null); } else { List<ByteBuffer> l = new ArrayList<ByteBuffer>(); sb = buildQueryString(l); if (!l.isEmpty()) values = l.toArray(new ByteBuffer[l.size()]); } maybeAddSemicolon(sb); cache = sb.toString(); dirty = false; }
private void maybeRebuildCache(CodecRegistry codecRegistry) { if (!dirty && cache != null) return; StringBuilder sb; values = null; if (hasBindMarkers || forceNoValues) { sb = buildQueryString(null, codecRegistry); } else { values = new ArrayList<Object>(); sb = buildQueryString(values, codecRegistry); if (values.size() > 65535) throw new IllegalArgumentException("Too many values for built statement, the maximum allowed is 65535"); if (values.isEmpty()) values = null; } maybeAddSemicolon(sb); cache = sb.toString(); dirty = false; }
private void maybeRebuildCache(CodecRegistry codecRegistry) { if (!dirty && cache != null) return; StringBuilder sb; values = null; if (hasBindMarkers || forceNoValues) { sb = buildQueryString(null, codecRegistry); } else { values = new ArrayList<Object>(); sb = buildQueryString(values, codecRegistry); if (values.size() > 65535) throw new IllegalArgumentException("Too many values for built statement, the maximum allowed is 65535"); if (values.isEmpty()) values = null; } maybeAddSemicolon(sb); cache = sb.toString(); dirty = false; }
private void maybeRebuildCache(CodecRegistry codecRegistry) { if (!dirty && cache != null) return; StringBuilder sb; values = null; if (hasBindMarkers || forceNoValues) { sb = buildQueryString(null, codecRegistry); } else { values = new ArrayList<Object>(); sb = buildQueryString(values, codecRegistry); if (values.size() > 65535) throw new IllegalArgumentException("Too many values for built statement, the maximum allowed is 65535"); if (values.isEmpty()) values = null; } maybeAddSemicolon(sb); cache = sb.toString(); dirty = false; }
@Override public String toString() { try { if (forceNoValues) return getQueryString(); // 1) try first with all values inlined (will not work if some values require custom codecs, // or if the required codecs are registered in a different CodecRegistry instance than the default one) return maybeAddSemicolon(buildQueryString(null, CodecRegistry.DEFAULT_INSTANCE)).toString(); } catch (RuntimeException e1) { // 2) try next with bind markers for all values to avoid usage of custom codecs try { return maybeAddSemicolon(buildQueryString(new ArrayList<Object>(), CodecRegistry.DEFAULT_INSTANCE)).toString(); } catch (RuntimeException e2) { // Ugly but we have absolutely no context to get the registry from return String.format("built query (could not generate with default codec registry: %s)", e2.getMessage()); } } }
@Override public String toString() { if (forceNoValues) return getQueryString(); return maybeAddSemicolon(buildQueryString(null)).toString(); }
@Override public String toString() { try { if (forceNoValues) return getQueryString(); // 1) try first with all values inlined (will not work if some values require custom codecs, // or if the required codecs are registered in a different CodecRegistry instance than the default one) return maybeAddSemicolon(buildQueryString(null, CodecRegistry.DEFAULT_INSTANCE)).toString(); } catch (RuntimeException e1) { // 2) try next with bind markers for all values to avoid usage of custom codecs try { return maybeAddSemicolon(buildQueryString(new ArrayList<Object>(), CodecRegistry.DEFAULT_INSTANCE)).toString(); } catch (RuntimeException e2) { // Ugly but we have absolutely no context to get the registry from return String.format("built query (could not generate with default codec registry: %s)", e2.getMessage()); } } }
@Override public String toString() { try { if (forceNoValues) return getQueryString(); // 1) try first with all values inlined (will not work if some values require custom codecs, // or if the required codecs are registered in a different CodecRegistry instance than the default one) return maybeAddSemicolon(buildQueryString(null, CodecRegistry.DEFAULT_INSTANCE)).toString(); } catch (RuntimeException e1) { // 2) try next with bind markers for all values to avoid usage of custom codecs try { return maybeAddSemicolon(buildQueryString(new ArrayList<Object>(), CodecRegistry.DEFAULT_INSTANCE)).toString(); } catch (RuntimeException e2) { // Ugly but we have absolutely no context to get the registry from return String.format("built query (could not generate with default codec registry: %s)", e2.getMessage()); } } }
@Override StringBuilder buildQueryString(List<Object> variables, CodecRegistry codecRegistry) { StringBuilder builder = new StringBuilder(); builder.append(isCounterOp() ? "BEGIN COUNTER BATCH" : (logged ? "BEGIN BATCH" : "BEGIN UNLOGGED BATCH")); if (!usings.usings.isEmpty()) { builder.append(" USING "); Utils.joinAndAppend(builder, codecRegistry, " AND ", usings.usings, variables); } builder.append(' '); for (int i = 0; i < statements.size(); i++) { RegularStatement stmt = statements.get(i); if (stmt instanceof BuiltStatement) { BuiltStatement bst = (BuiltStatement) stmt; builder.append(maybeAddSemicolon(bst.buildQueryString(variables, codecRegistry))); } else { String str = stmt.getQueryString(codecRegistry); builder.append(str); if (!str.trim().endsWith(";")) builder.append(';'); // Note that we force hasBindMarkers if there is any non-BuiltStatement, so we know // that we can only get there with variables == null assert variables == null; } } builder.append("APPLY BATCH;"); return builder; }
@Override StringBuilder buildQueryString(List<Object> variables, CodecRegistry codecRegistry) { StringBuilder builder = new StringBuilder(); builder.append(isCounterOp() ? "BEGIN COUNTER BATCH" : (logged ? "BEGIN BATCH" : "BEGIN UNLOGGED BATCH")); if (!usings.usings.isEmpty()) { builder.append(" USING "); Utils.joinAndAppend(builder, codecRegistry, " AND ", usings.usings, variables); } builder.append(' '); for (int i = 0; i < statements.size(); i++) { RegularStatement stmt = statements.get(i); if (stmt instanceof BuiltStatement) { BuiltStatement bst = (BuiltStatement) stmt; builder.append(maybeAddSemicolon(bst.buildQueryString(variables, codecRegistry))); } else { String str = stmt.getQueryString(codecRegistry); builder.append(str); if (!str.trim().endsWith(";")) builder.append(';'); // Note that we force hasBindMarkers if there is any non-BuiltStatement, so we know // that we can only get there with variables == null assert variables == null; } } builder.append("APPLY BATCH;"); return builder; }
@Override StringBuilder buildQueryString(List<Object> variables, CodecRegistry codecRegistry) { StringBuilder builder = new StringBuilder(); builder.append(isCounterOp() ? "BEGIN COUNTER BATCH" : (logged ? "BEGIN BATCH" : "BEGIN UNLOGGED BATCH")); if (!usings.usings.isEmpty()) { builder.append(" USING "); Utils.joinAndAppend(builder, codecRegistry, " AND ", usings.usings, variables); } builder.append(' '); for (int i = 0; i < statements.size(); i++) { RegularStatement stmt = statements.get(i); if (stmt instanceof BuiltStatement) { BuiltStatement bst = (BuiltStatement) stmt; builder.append(maybeAddSemicolon(bst.buildQueryString(variables, codecRegistry))); } else { String str = stmt.getQueryString(codecRegistry); builder.append(str); if (!str.trim().endsWith(";")) builder.append(';'); // Note that we force hasBindMarkers if there is any non-BuiltStatement, so we know // that we can only get there with variables == null assert variables == null; } } builder.append("APPLY BATCH;"); return builder; }
if (stmt instanceof BuiltStatement) { BuiltStatement bst = (BuiltStatement)stmt; builder.append(maybeAddSemicolon(bst.buildQueryString(variables)));