Browse Source

server: Rename hash to blockhash on blocks table

scalafmt-draft
Alexis Hernandez 7 years ago
parent
commit
3a98e698c0
  1. 26
      server/app/com/xsn/explorer/data/anorm/dao/BlockPostgresDAO.scala
  2. 3
      server/app/com/xsn/explorer/data/anorm/parsers/BlockParsers.scala
  3. 8
      server/conf/evolutions/default/1.sql

26
server/app/com/xsn/explorer/data/anorm/dao/BlockPostgresDAO.scala

@ -14,15 +14,15 @@ class BlockPostgresDAO {
""" """
|INSERT INTO blocks |INSERT INTO blocks
| ( | (
| hash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size, | blockhash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size,
| height, version, time, median_time, nonce, bits, chainwork, difficulty | height, version, time, median_time, nonce, bits, chainwork, difficulty
| ) | )
|VALUES |VALUES
| ( | (
| {hash}, {previous_blockhash}, {next_blockhash}, {tpos_contract}, {merkle_root}, {size}, | {blockhash}, {previous_blockhash}, {next_blockhash}, {tpos_contract}, {merkle_root}, {size},
| {height}, {version}, {time}, {median_time}, {nonce}, {bits}, {chainwork}, {difficulty} | {height}, {version}, {time}, {median_time}, {nonce}, {bits}, {chainwork}, {difficulty}
| ) | )
|ON CONFLICT (hash) |ON CONFLICT (blockhash)
|DO UPDATE |DO UPDATE
| SET previous_blockhash = EXCLUDED.previous_blockhash, | SET previous_blockhash = EXCLUDED.previous_blockhash,
| next_blockhash = EXCLUDED.next_blockhash, | next_blockhash = EXCLUDED.next_blockhash,
@ -37,11 +37,11 @@ class BlockPostgresDAO {
| bits = EXCLUDED.bits, | bits = EXCLUDED.bits,
| chainwork = EXCLUDED.chainwork, | chainwork = EXCLUDED.chainwork,
| difficulty = EXCLUDED.difficulty | difficulty = EXCLUDED.difficulty
|RETURNING hash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size, |RETURNING blockhash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size,
| height, version, time, median_time, nonce, bits, chainwork, difficulty | height, version, time, median_time, nonce, bits, chainwork, difficulty
""".stripMargin """.stripMargin
).on( ).on(
'hash -> block.hash.string, 'blockhash -> block.hash.string,
'previous_blockhash -> block.previousBlockhash.map(_.string), 'previous_blockhash -> block.previousBlockhash.map(_.string),
'next_blockhash -> block.nextBlockhash.map(_.string), 'next_blockhash -> block.nextBlockhash.map(_.string),
'tpos_contract -> block.tposContract.map(_.string), 'tpos_contract -> block.tposContract.map(_.string),
@ -61,13 +61,13 @@ class BlockPostgresDAO {
def getBy(blockhash: Blockhash)(implicit conn: Connection): Option[Block] = { def getBy(blockhash: Blockhash)(implicit conn: Connection): Option[Block] = {
SQL( SQL(
""" """
|SELECT hash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size, |SELECT blockhash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size,
| height, version, time, median_time, nonce, bits, chainwork, difficulty | height, version, time, median_time, nonce, bits, chainwork, difficulty
|FROM blocks |FROM blocks
|WHERE hash = {hash} |WHERE blockhash = {blockhash}
""".stripMargin """.stripMargin
).on( ).on(
"hash" -> blockhash.string "blockhash" -> blockhash.string
).as(parseBlock.singleOpt).flatten ).as(parseBlock.singleOpt).flatten
} }
@ -75,19 +75,19 @@ class BlockPostgresDAO {
SQL( SQL(
""" """
|DELETE FROM blocks |DELETE FROM blocks
|WHERE hash = {hash} |WHERE blockhash = {blockhash}
|RETURNING hash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size, |RETURNING blockhash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size,
| height, version, time, median_time, nonce, bits, chainwork, difficulty | height, version, time, median_time, nonce, bits, chainwork, difficulty
""".stripMargin """.stripMargin
).on( ).on(
"hash" -> blockhash.string "blockhash" -> blockhash.string
).as(parseBlock.singleOpt).flatten ).as(parseBlock.singleOpt).flatten
} }
def getLatestBlock(implicit conn: Connection): Option[Block] = { def getLatestBlock(implicit conn: Connection): Option[Block] = {
SQL( SQL(
""" """
|SELECT hash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size, |SELECT blockhash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size,
| height, version, time, median_time, nonce, bits, chainwork, difficulty | height, version, time, median_time, nonce, bits, chainwork, difficulty
|FROM blocks |FROM blocks
|ORDER BY height DESC |ORDER BY height DESC
@ -99,7 +99,7 @@ class BlockPostgresDAO {
def getFirstBlock(implicit conn: Connection): Option[Block] = { def getFirstBlock(implicit conn: Connection): Option[Block] = {
SQL( SQL(
""" """
|SELECT hash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size, |SELECT blockhash, previous_blockhash, next_blockhash, tpos_contract, merkle_root, size,
| height, version, time, median_time, nonce, bits, chainwork, difficulty | height, version, time, median_time, nonce, bits, chainwork, difficulty
|FROM blocks |FROM blocks
|ORDER BY height |ORDER BY height

3
server/app/com/xsn/explorer/data/anorm/parsers/BlockParsers.scala

@ -9,7 +9,6 @@ object BlockParsers {
import CommonParsers._ import CommonParsers._
val parseHash = str("hash").map(Blockhash.from)
val parseNextBlockhash = str("next_blockhash").map(Blockhash.from) val parseNextBlockhash = str("next_blockhash").map(Blockhash.from)
val parsePreviousBlockhash = str("previous_blockhash").map(Blockhash.from) val parsePreviousBlockhash = str("previous_blockhash").map(Blockhash.from)
val parseTposContract = str("tpos_contract").map(TransactionId.from) val parseTposContract = str("tpos_contract").map(TransactionId.from)
@ -24,7 +23,7 @@ object BlockParsers {
val parseDifficulty = get[BigDecimal]("difficulty") val parseDifficulty = get[BigDecimal]("difficulty")
val parseBlock = ( val parseBlock = (
parseHash ~ parseBlockhash ~
parseNextBlockhash.? ~ parseNextBlockhash.? ~
parsePreviousBlockhash.? ~ parsePreviousBlockhash.? ~
parseTposContract.? ~ parseTposContract.? ~

8
server/conf/evolutions/default/1.sql

@ -2,7 +2,7 @@
# --- !Ups # --- !Ups
CREATE TABLE blocks( CREATE TABLE blocks(
hash VARCHAR(64) NOT NULL, blockhash VARCHAR(64) NOT NULL,
previous_blockhash VARCHAR(64) NULL, previous_blockhash VARCHAR(64) NULL,
next_blockhash VARCHAR(64) NULL, next_blockhash VARCHAR(64) NULL,
merkle_root VARCHAR(64) NULL, merkle_root VARCHAR(64) NULL,
@ -17,7 +17,11 @@ CREATE TABLE blocks(
chainwork VARCHAR(80) NOT NULL, chainwork VARCHAR(80) NOT NULL,
difficulty DECIMAL(30, 20), difficulty DECIMAL(30, 20),
-- constraints -- constraints
CONSTRAINT blocks_hash_pk PRIMARY KEY (hash) CONSTRAINT blocks_blockhash_pk PRIMARY KEY (blockhash),
CONSTRAINT blocks_blockhash_format CHECK (blockhash ~ '^[a-f0-9]{64}$'),
CONSTRAINT blocks_previous_blockhash_format CHECK (previous_blockhash ~ '^[a-f0-9]{64}$'),
CONSTRAINT blocks_next_blockhash_format CHECK (next_blockhash ~ '^[a-f0-9]{64}$'),
CONSTRAINT blocks_tpos_contract_format CHECK (tpos_contract ~ '^[a-f0-9]{64}$')
); );
CREATE INDEX blocks_height_index ON blocks USING BTREE (height); CREATE INDEX blocks_height_index ON blocks USING BTREE (height);

Loading…
Cancel
Save