Quadcap Embeddable Database

com.quadcap.sql.Key Class Reference

Inheritance diagram for com.quadcap.sql.Key:

Comparator List of all members.

Detailed Description

Micro-optimized (-;) key serialization and comparison.

This class is designed to eliminate copies and allocations during key comparison and serialization operations.

Author:
Stan Bailes

Definition at line 69 of file Key.java.

Public Member Functions

 Key (int cnt)
 Key (boolean[] asc)
boolean compareNulls (byte[] a, byte[] b)
 Null comparison for GROUP BY.

int compare (byte[] a, byte[] b)
final int compare (byte[] a, int aoff, int alen, byte[] b, int boff, int blen)
void checkKey (byte[] buf, int off, int len)
int getKeyLen (byte[] a, int aoff)
String toString (byte[] key, int off, int xlen)

Static Public Member Functions

byte[] makeKey (Tuple tuple, Row row, int[] map, long rowNum, boolean doRowNum) throws SQLException
byte[] makeKey (Row row) throws SQLException
String toStringHelper (byte[] key)
String toStringHelper (byte[] key, int off, int xlen)
void test1 () throws IOException
byte[] makeRandomKey () throws IOException
void main (String[] args)

Static Public Attributes

final int COMPOUND = KeyStream.COMPOUND
final int INTEGER = KeyStream.INTEGER
final int STRING = KeyStream.STRING
final int NULL = KeyStream.NULL

Package Functions

final int compare2 (byte[] a, int aoff, int alen, byte[] b, int boff, int blen)

Package Attributes

boolean[] asc

Static Package Attributes

final boolean paranoid = false
java.util.Random random = new java.util.Random(666)


Constructor & Destructor Documentation

com.quadcap.sql.Key.Key int  cnt  ) 
 

Definition at line 76 of file Key.java.

References com.quadcap.sql.Key.asc.

com.quadcap.sql.Key.Key boolean[]  asc  ) 
 

Definition at line 81 of file Key.java.


Member Function Documentation

void com.quadcap.sql.Key.checkKey byte[]  buf,
int  off,
int  len
 

Definition at line 208 of file Key.java.

References com.quadcap.sql.Key.checkKey(), com.quadcap.sql.Key.getKeyLen(), and com.quadcap.sql.Key.toString().

Referenced by com.quadcap.sql.Key.checkKey(), com.quadcap.sql.Key.compare(), and com.quadcap.sql.Key.makeKey().

final int com.quadcap.sql.Key.compare byte[]  a,
int  aoff,
int  alen,
byte[]  b,
int  boff,
int  blen
 

Definition at line 179 of file Key.java.

References com.quadcap.sql.Key.asc, com.quadcap.sql.Key.checkKey(), com.quadcap.sql.Key.compare2(), com.quadcap.sql.Key.paranoid, and com.quadcap.sql.Key.toString().

int com.quadcap.sql.Key.compare byte[]  a,
byte[]  b
 

Definition at line 174 of file Key.java.

References com.quadcap.sql.Key.compare().

Referenced by com.quadcap.sql.Key.compare(), com.quadcap.sql.Key.compareNulls(), and com.quadcap.sql.GroupByCursor.nextRow().

final int com.quadcap.sql.Key.compare2 byte[]  a,
int  aoff,
int  alen,
byte[]  b,
int  boff,
int  blen
[package]
 

Definition at line 222 of file Key.java.

References com.quadcap.sql.Key.asc, com.quadcap.sql.Key.COMPOUND, com.quadcap.sql.Key.INTEGER, com.quadcap.sql.Key.NULL, and com.quadcap.sql.Key.STRING.

Referenced by com.quadcap.sql.Key.compare().

boolean com.quadcap.sql.Key.compareNulls byte[]  a,
byte[]  b
 

Null comparison for GROUP BY.

Definition at line 164 of file Key.java.

References com.quadcap.sql.Key.compare(), and com.quadcap.sql.Key.compareNulls().

Referenced by com.quadcap.sql.Key.compareNulls().

int com.quadcap.sql.Key.getKeyLen byte[]  a,
int  aoff
 

Definition at line 385 of file Key.java.

References com.quadcap.sql.Key.asc, com.quadcap.sql.Key.COMPOUND, com.quadcap.sql.Key.getKeyLen(), com.quadcap.sql.Key.INTEGER, com.quadcap.sql.Key.NULL, and com.quadcap.sql.Key.STRING.

Referenced by com.quadcap.sql.Key.checkKey(), and com.quadcap.sql.Key.getKeyLen().

void com.quadcap.sql.Key.main String[]  args  )  [static]
 

Definition at line 510 of file Key.java.

References com.quadcap.sql.Key.main(), and com.quadcap.sql.Key.test1().

Referenced by com.quadcap.sql.Key.main().

byte [] com.quadcap.sql.Key.makeKey Row  row  )  throws SQLException [static]
 

Definition at line 157 of file Key.java.

byte [] com.quadcap.sql.Key.makeKey Tuple  tuple,
Row  row,
int[]  map,
long  rowNum,
boolean  doRowNum
throws SQLException [static]
 

Definition at line 85 of file Key.java.

References com.quadcap.sql.Key.checkKey(), com.quadcap.sql.types.Type.convert(), com.quadcap.sql.Column.getType(), com.quadcap.sql.Key.makeKey(), com.quadcap.sql.Key.paranoid, com.quadcap.sql.types.Value.serializeKey(), com.quadcap.sql.Key.toString(), and com.quadcap.sql.types.KeyStream.writeLong().

Referenced by com.quadcap.sql.Key.makeKey().

byte [] com.quadcap.sql.Key.makeRandomKey  )  throws IOException [static]
 

Definition at line 498 of file Key.java.

References com.quadcap.sql.Key.random, and com.quadcap.sql.types.KeyStream.writeChars().

Referenced by com.quadcap.sql.Key.test1().

void com.quadcap.sql.Key.test1  )  throws IOException [static]
 

Definition at line 479 of file Key.java.

References com.quadcap.sql.Key.makeRandomKey().

Referenced by com.quadcap.sql.Key.main().

String com.quadcap.sql.Key.toString byte[]  key,
int  off,
int  xlen
 

Definition at line 419 of file Key.java.

References com.quadcap.sql.Key.toString().

Referenced by com.quadcap.sql.Key.checkKey(), com.quadcap.sql.Key.compare(), com.quadcap.sql.Key.makeKey(), and com.quadcap.sql.Key.toString().

String com.quadcap.sql.Key.toStringHelper byte[]  key,
int  off,
int  xlen
[static]
 

Definition at line 423 of file Key.java.

References com.quadcap.sql.Key.COMPOUND, com.quadcap.sql.Key.INTEGER, com.quadcap.sql.Key.NULL, and com.quadcap.sql.Key.STRING.

String com.quadcap.sql.Key.toStringHelper byte[]  key  )  [static]
 

Definition at line 415 of file Key.java.

References com.quadcap.sql.Key.toStringHelper().

Referenced by com.quadcap.sql.Key.toStringHelper().


Member Data Documentation

boolean [] com.quadcap.sql.Key.asc [package]
 

Definition at line 74 of file Key.java.

Referenced by com.quadcap.sql.Key.compare(), com.quadcap.sql.Key.compare2(), com.quadcap.sql.Key.getKeyLen(), and com.quadcap.sql.Key.Key().

final int com.quadcap.sql.Key.COMPOUND = KeyStream.COMPOUND [static]
 

Definition at line 169 of file Key.java.

Referenced by com.quadcap.sql.Key.compare2(), com.quadcap.sql.Key.getKeyLen(), and com.quadcap.sql.Key.toStringHelper().

final int com.quadcap.sql.Key.INTEGER = KeyStream.INTEGER [static]
 

Definition at line 170 of file Key.java.

Referenced by com.quadcap.sql.Key.compare2(), com.quadcap.sql.Key.getKeyLen(), and com.quadcap.sql.Key.toStringHelper().

final int com.quadcap.sql.Key.NULL = KeyStream.NULL [static]
 

Definition at line 172 of file Key.java.

Referenced by com.quadcap.sql.Key.compare2(), com.quadcap.sql.Key.getKeyLen(), and com.quadcap.sql.Key.toStringHelper().

final boolean com.quadcap.sql.Key.paranoid = false [static, package]
 

Definition at line 71 of file Key.java.

Referenced by com.quadcap.sql.Key.compare(), and com.quadcap.sql.Key.makeKey().

java.util.Random com.quadcap.sql.Key.random = new java.util.Random(666) [static, package]
 

Definition at line 496 of file Key.java.

Referenced by com.quadcap.sql.Key.makeRandomKey().

final int com.quadcap.sql.Key.STRING = KeyStream.STRING [static]
 

Definition at line 171 of file Key.java.

Referenced by com.quadcap.sql.Key.compare2(), com.quadcap.sql.Key.getKeyLen(), and com.quadcap.sql.Key.toStringHelper().