Class RowUtil
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.RowUtil
-
public class RowUtil extends java.lang.Object
Utility class manipulating rows.Note: this class is public so it may be used by Replication execution code. It is basically not public.
-
-
Field Summary
Fields Modifier and Type Field Description private static long
rowCountBase
Row count base added for testing JDBC 4.2
-
Constructor Summary
Constructors Constructor Description RowUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
copyCloneColumns(ExecRow to, ExecRow from, int count)
Clone an ExecRow's columns and place the coloned columns in another ExecRow.static void
copyRefColumns(ExecRow setMe)
Empty columns -- i.e. make them refer to a java null.static void
copyRefColumns(ExecRow to, int toStart, ExecRow from, int fromStart, int count)
Copy references for an ExecRow's columns to another ExecRow.static void
copyRefColumns(ExecRow to, ExecRow from)
Copy references for an ExecRow's columns to another ExecRow.static void
copyRefColumns(ExecRow to, ExecRow from, int count)
Copy references for an ExecRow's columns to another ExecRow.static void
copyRefColumns(ExecRow to, ExecRow from, int[] positions)
Copy references for an ExecRow's columns to another ExecRow.static void
copyRefColumns(ExecRow to, ExecRow from, int start, int count)
Copy references for an ExecRow's columns to another ExecRow.static void
copyRefColumns(ExecRow to, ExecRow from, FormatableBitSet positions)
Copy references for an ExecRow's columns to another ExecRow.static ExecIndexRow
getEmptyIndexRow(int columnCount, LanguageConnectionContext lcc)
Get an empty ExecIndexRow.static ExecRow
getEmptyValueRow(int columnCount, LanguageConnectionContext lcc)
Get an empty ExecRow.static long
getRowCountBase()
Retrieve the row count basestatic boolean
inAscendingOrder(int[] colMap)
static java.lang.String
intArrayToString(int[] colMap)
intArrayToStringstatic void
setRowCountBase(long newBase)
Debug method used to test the setLargeMaxRows() method added by JDBC 4.2.static FormatableBitSet
shift(FormatableBitSet bitSet, int n)
Shift a FormatableBitSet N bits toward the zero end.static java.lang.String
toString(java.lang.Object[] objs)
toStringstatic java.lang.String
toString(java.lang.Object[] objs, int[] positions)
toStringstatic java.lang.String
toString(java.lang.Object[] objs, int startPoint, int endPoint)
toStringstatic java.lang.String
toString(ExecRow row)
toStringstatic java.lang.String
toString(ExecRow row, int[] positions)
toStringstatic java.lang.String
toString(ExecRow row, int startPoint, int endPoint)
toString
-
-
-
Method Detail
-
setRowCountBase
public static void setRowCountBase(long newBase)
Debug method used to test the setLargeMaxRows() method added by JDBC 4.2. This method is a NOP on a production (insane) build of Derby.
-
getRowCountBase
public static long getRowCountBase()
Retrieve the row count base
-
getEmptyValueRow
public static ExecRow getEmptyValueRow(int columnCount, LanguageConnectionContext lcc)
Get an empty ExecRow.- Parameters:
columnCount
- the number of columns in the row.- Returns:
- the row.
-
getEmptyIndexRow
public static ExecIndexRow getEmptyIndexRow(int columnCount, LanguageConnectionContext lcc)
Get an empty ExecIndexRow.- Parameters:
columnCount
- the number of columns in the row.- Returns:
- the row.
-
copyCloneColumns
public static void copyCloneColumns(ExecRow to, ExecRow from, int count)
Clone an ExecRow's columns and place the coloned columns in another ExecRow.- Parameters:
to
- Place the cloned columns here.from
- Get the columns to clone here.count
- Clone this number of columns.
-
copyRefColumns
public static void copyRefColumns(ExecRow to, ExecRow from)
Copy references for an ExecRow's columns to another ExecRow.- Parameters:
to
- Place the column references here.from
- Get the column references from here.
-
copyRefColumns
public static void copyRefColumns(ExecRow to, ExecRow from, int count) throws StandardException
Copy references for an ExecRow's columns to another ExecRow.- Parameters:
to
- Place the column references here.from
- Get the column references from here.count
- Copy this number of column references.- Throws:
StandardException
-
copyRefColumns
public static void copyRefColumns(ExecRow to, ExecRow from, int start, int count) throws StandardException
Copy references for an ExecRow's columns to another ExecRow.- Parameters:
to
- Place the column references here.from
- Get the column references from here.start
- The 0 based index of the first column to copy.count
- Copy this number of column references.- Throws:
StandardException
-
copyRefColumns
public static void copyRefColumns(ExecRow to, int toStart, ExecRow from, int fromStart, int count) throws StandardException
Copy references for an ExecRow's columns to another ExecRow.- Parameters:
to
- Place the column references here.toStart
- The 0-based index of the first column to replace.from
- Get the column references from here.fromStart
- The 0 based index of the first column to copy.count
- Copy this number of column references.- Throws:
StandardException
-
copyRefColumns
public static void copyRefColumns(ExecRow to, ExecRow from, int[] positions) throws StandardException
Copy references for an ExecRow's columns to another ExecRow.- Parameters:
to
- Place the column references here.from
- Get the column references from here.positions
- array of 1-based column ids to copy from "from" to "to"- Throws:
StandardException
-
copyRefColumns
public static void copyRefColumns(ExecRow to, ExecRow from, FormatableBitSet positions) throws StandardException
Copy references for an ExecRow's columns to another ExecRow. For copying from a compact array to a reconstituted array. E.g. if positions = {2, 4}, and from = {666, 777} then to => {null, 666, null, 777}. Will only go as far as to.getArray().length.- Parameters:
to
- Place the column references here. Sparse arrayfrom
- Get the column references from here. Compact arraypositions
- array of 1-based column ids to copy from "from" to "to"- Throws:
StandardException
-
copyRefColumns
public static void copyRefColumns(ExecRow setMe) throws StandardException
Empty columns -- i.e. make them refer to a java null.This is useful to remove dangling references to a column.
- Parameters:
setMe
- Set columns in this storable to be empty.- Throws:
StandardException
-
toString
public static java.lang.String toString(ExecRow row)
toString- Parameters:
row
- the row- Returns:
- the string
-
toString
public static java.lang.String toString(java.lang.Object[] objs)
toString- Parameters:
objs
- the row array- Returns:
- the string
-
toString
public static java.lang.String toString(ExecRow row, int startPoint, int endPoint)
toString- Parameters:
row
- the rowstartPoint
- 0 based start point in row array, inclusiveendPoint
- 0 based end point in row array, inclusive- Returns:
- the string
-
toString
public static java.lang.String toString(java.lang.Object[] objs, int startPoint, int endPoint)
toString- Parameters:
objs
- the row arraystartPoint
- 0 based start point in row array, inclusiveendPoint
- 0 based end point in row array, inclusive- Returns:
- the string
-
toString
public static java.lang.String toString(ExecRow row, int[] positions)
toString- Parameters:
row
- the rowpositions
- 1 based array of positions- Returns:
- the string
-
toString
public static java.lang.String toString(java.lang.Object[] objs, int[] positions)
toString- Parameters:
objs
- the row arraypositions
- 1 based array of positions- Returns:
- the string
-
intArrayToString
public static java.lang.String intArrayToString(int[] colMap)
intArrayToString- Parameters:
colMap
- the int array- Returns:
- the string
-
inAscendingOrder
public static boolean inAscendingOrder(int[] colMap)
-
shift
public static FormatableBitSet shift(FormatableBitSet bitSet, int n)
Shift a FormatableBitSet N bits toward the zero end. e.g. shift({2,4}) -> {1,3}.- Parameters:
bitSet
- the bit setn
- the number of bits to shift- Returns:
- a new FormatableBitSet with the shifted result
-
-