NewId2.md 1.16 KB

NewId2 (function)

生成27位纯数字的ID 模仿后台Java代码生成

  • Type: FUNCTION
  • Returns: varchar(32)
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type

Body

Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE FUNCTIONNewId2'.

Narrative

Business context: Variant id-generator that swaps the random and timestamp halves of newId — emits '1' + 8-digit-rand + 9-digit-rand + 14-char-timestamp, so the leading digits are random rather than the current date. Header is copy-pasted from newId and is again wrong about the length (the body produces 32 chars, not 27).

What it does: returns CONCAT('1', CEILING(RAND()*9e7+1e7), CEILING(RAND()*9e8+1e8), DATE_FORMAT(NOW(),'%Y%m%d%H%i%s')) — 1 + 8 + 9 + 14 = 32 numeric chars.

Invocation: Status: appears orphaned. No caller found in any channel (form-master, gdsmodule hooks, other routines, xly-src grep). Live id generation flows through newId (137 callers). Likely a variant developers prototyped but never adopted — candidate for maintainer audit / deletion.