Using connections
When you need to execute sequential queries (without a transaction), you can create a new connection or borrow one from the pool:
Code not translatable
Prepared queries can be created:
require 'vertx-sql-client/tuple'
connection.prepare("SELECT * FROM users WHERE first_name LIKE ?") { |ar1_err,ar1|
if (ar1_err == nil)
pq = ar1
pq.execute(VertxSqlClient::Tuple.of("julien")) { |ar2_err,ar2|
if (ar2_err == nil)
# All rows
rows = ar2
end
}
end
}
|
Note
|
prepared query caching depends on the cachePreparedStatements and
does not depend on whether you are creating prepared queries or use direct prepared queries
|
PreparedQuery can perform efficient batching:
require 'vertx-sql-client/tuple'
connection.prepare("INSERT INTO USERS (id, name) VALUES (?, ?)") { |ar1_err,ar1|
if (ar1_err == nil)
prepared = ar1
# Create a query : bind parameters
batch = Array.new
# Add commands to the createBatch
batch.push(VertxSqlClient::Tuple.of("julien", "Julien Viet"))
batch.push(VertxSqlClient::Tuple.of("emad", "Emad Alblueshi"))
prepared.batch(batch) { |res_err,res|
if (res_err == nil)
# Process rows
rows = res
else
puts "Batch failed #{res_err}"
end
}
end
}