Core driver
Click Here to Visit Our All-New Website with Free Shipping to Even More Countries Sign In. Add hardware and manage drivers locally. To add hardware to a Server Core server, follow the instructions provided by the hardware vendor for installing new hardware. If the hardware is not plug and play, you'll need to manually install the driver.
Having an issue with your display, audio, or touchpad? Whether you're working on an Alienware, Inspiron, Latitude, or other Dell product, driver updates keep your device running at top performance. Step 1: Identify your product above. Step 2: Run the detect drivers scan to see available updates. Step 3: Choose which driver updates to install. Intel® Core™ i5-10500TE Processor (12M Cache, up to 3.70 GHz) Intel® Core™ i5-10500T Processor (12M Cache, up to 3.80 GHz) Intel® Core™ i5-10500E Processor (12M Cache, up to 4.20 GHz) Intel® Core™ i5-10500 Processor (12M Cache, up to 4.50 GHz) Intel® Core™ i5.
The core module handles cluster connectivity and request execution. It is published under thefollowing coordinates:
(For more details on setting up your build tool, see the integration page.)
Quick start
Here’s a short program that connects to Cassandra and executes a query:
- CqlSession is the main entry point of the driver. It holds the known state of the actualCassandra cluster, and is what you use to execute queries. It is thread-safe, you should create asingle instance (per target Cassandra cluster), and share it throughout your application;
- we use
execute
to send a query to Cassandra. This returns a ResultSet, which is an iterable of Row objects. On the next line, we extract the first row (which is the only one in this case); - we extract the value of the first (and only) column from the row.
Always close the CqlSession
once you’re done with it, in order to free underlying resources (TCP connections, thread pools…). In this simple example, we can use a try-with-resources block becauseCqlSession
implements java.lang.AutoCloseable
; in a real application, you’ll probably call oneof the close methods (close
, closeAsync
, forceCloseAsync
) explicitly.
This example uses the synchronous API. Most methods have asynchronous equivalents (look for *Async
variants that return a CompletionStage
).
Setting up the driver
CqlSession#builder() provides a fluent API to create an instance programmatically. Most of thecustomization is done through the driver configuration (refer to thecorresponding section of this manual for full details).
We recommend that you take a look at the reference configuration for thelist of available options, and cross-reference with the sub-sections in this manual for moreexplanations.
By default, CqlSession.builder().build()
fails immediately if the cluster is not available. If youwant to retry instead, you can set the reconnect-on-init option in theconfiguration.
Contact points
If you don’t specify any contact point, the driver defaults to 127.0.0.1:9042
:
This is fine for a quick start on a developer workstation, but you’ll quickly want to providespecific addresses. There are two ways to do this:
- via SessionBuilder.addContactPoint() or SessionBuilder.addContactPoints();
- in the configuration via the
basic.contact-points
option.
As soon as there are explicit contact points, you also need to provide the name of the localdatacenter. All contact points must belong to it (as reported in their system tables:system.local.data_center
and system.peers.data_center
). Again this can be specified either:
- via SessionBuilder.withLocalDatacenter();
- in the configuration via the
basic.load-balancing-policy.local-datacenter
option.
Here is a full programmatic example:
And a full configuration example:
For more details about the local datacenter, refer to the load balancingpolicy section.
Keyspace
By default, a session isn’t tied to any specific keyspace. You’ll need to prefix table names in yourqueries:
You can also specify a keyspace at construction time, either through theconfiguration:
Or with the builder:
That keyspace will be used as the default when table names are not qualified:
You might be tempted to open a separate session for each keyspace used in your application; however,connection pools are created at the session level, so each new session will consume additionalsystem resources:
If you issue a USE
statement, it will change the default keyspace on that session:
Be very careful though: switching the keyspace at runtime is inherently thread-unsafe, so if thesession is shared by multiple threads (and is usually is), it could easily cause unexpected queryfailures.
Drivers Intel Core 2 Duo E8400
Finally, if you’re connecting to Cassandra 4 or above, you can specify the keyspace independentlyfor each request:
Running queries
You run queries with the session’s execute*
methods:
As shown here, the simplest form is to pass a query string directly. You can also pass aStatement instance.
Best Windows 10 Driver Software
Processing rows
Executing a query produces a ResultSet, which is an iterable of Row. The basic way to processall rows is to use Java’s for-each loop:
This will return all results without limit (even though the driver might use multiple queries inthe background). To handle large result sets, you might want to use a LIMIT
clause in your CQLquery, or use one of the techniques described in the paging documentation.
When you know that there is only one row (or are only interested in the first one), the driverprovides a convenience method:
Driver Coreldraw X7
Reading columns
Row provides getters to extract column values; they can be either positional or named:
CqlIdentifier is a string wrapper that deals with case-sensitivity. If you don’t want to create aninstance for each getter call, the driver also provides convenience methods that take a raw string:
See AccessibleByName for an explanation of the conversion rules.
CQL to Java type mapping
CQL3 data type | Getter name | Java type | See also |
---|---|---|---|
ascii | getString | java.lang.String | |
bigint | getLong | long | |
blob | getByteBuffer | java.nio.ByteBuffer | |
boolean | getBoolean | boolean | |
counter | getLong | long | |
date | getLocalDate | java.time.LocalDate | Temporal types |
decimal | getBigDecimal | java.math.BigDecimal | |
double | getDouble | double | |
duration | getCqlDuration | CqlDuration | Temporal types |
float | getFloat | float | |
inet | getInetAddress | java.net.InetAddress | |
int | getInt | int | |
list | getList | java.util.List | |
map | getMap | java.util.Map | |
set | getSet | java.util.Set | |
smallint | getShort | short | |
text | getString | java.lang.String | |
time | getLocalTime | java.time.LocalTime | Temporal types |
timestamp | getInstant | java.time.Instant | Temporal types |
timeuuid | getUuid | java.util.UUID | |
tinyint | getByte | byte | |
tuple | getTupleValue | TupleValue | Tuples |
user-defined types | getUDTValue | UDTValue | User-defined types |
uuid | getUuid | java.util.UUID | |
varchar | getString | java.lang.String | |
varint | getBigInteger | java.math.BigInteger |
Sometimes the driver has to infer a CQL type from a Java type (for example when handling the values of simple statements); for those that have multiple CQL equivalents, it makesthe following choices:
java.lang.String
:text
long
:bigint
java.util.UUID
:uuid
In addition to these default mappings, you can register your own types withcustom codecs.
Primitive types
For performance reasons, the driver uses primitive Java types wherever possible (boolean
,int
…); the CQL value NULL
is encoded as the type’s default value (false
, 0
…), which canbe ambiguous. To distinguish NULL
from actual values, use isNull
:
Collection types
To ensure type safety, collection getters are generic. You need to provide type parameters matchingyour CQL type when calling the methods:
For nested collections, element types are generic and cannot be expressed as Java Class
instances.Use GenericType instead:
Since generic types are anonymous inner classes, it’s recommended to store them as constants in autility class instead of re-creating them each time.
Row metadata
ResultSet and Row expose an API to explore the column metadata at runtime: