mORMot and Open Source friends
Check-in [d80a9a9a46]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:more than MAX_SQLFIELDS-1 columns (by default, 63) will raise an exception
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d80a9a9a463183e51dbd498f58c39ac26db3c59d
User & Date: G018869 2012-03-29 13:30:09
Context
2012-03-29
16:54
added 'RemoteIP: 127.0.0.1' to retrieve the remote IP address in HTTP headers on server side check-in: a9643f8a7d user: G018869 tags: trunk
13:30
more than MAX_SQLFIELDS-1 columns (by default, 63) will raise an exception check-in: d80a9a9a46 user: G018869 tags: trunk
13:13
  • added tdfQueryFieldFocused optional flag to focus the input field component
  • InputBox function will now focus the input field component by default
check-in: 0e7d678761 user: G018869 tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to SQLite3/SQLite3Commons.pas.

491
492
493
494
495
496
497

498
499
500
501
502
503
504
.....
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
      parameter in FillPrepare method)
    - EngineList methods (including TSQLRestServerStaticInMemory class) now
      handles an optional integer pointer, to return the count of row data
    - uses new generic TSynAnsiConvert classes for code page process: that is,
      SQLite3i18n S2U() and U2S() match the SynCommons StringToUTF8() and
      UTF8ToString() functions - therefore, the TUTF8ToStringEvent parameter is
      not useful any more

    - fix issue about missing last item in JSONToObject() function
    - fix issue when handling null JSON objects in GetJSONObjectAsSQL() function
    - fix issue about record locking in TSQLRestClientURI.Retrieve method
    - fix issue about abusive session timeout: TSQLRestServer.SessionGet is now
      renamed SessionAccess and refreshes the session access timestamp each time
      a session is retrieved (+internal implementation fix)
    - fix issue in SetInt64Prop() procedure which failed the update of a property
................................................................................
  Table := aTable;
  SQLTableName := GetDisplayNameFromClass(aTable);
  ExternalTableName := SQLTableName;
  SQLTableNameUpperWithDot := UpperCase(SQLTableName)+'.';
  ClassProp := InternalClassProp(aTable);
  assert(ClassProp<>nil);
  nProps := PClassProp(aTable)^.FieldCountWithParents;
  if nProps>MAX_SQLFIELDS then
    raise EModelException.CreateFmt('%s has too many fields: %d>%d',
      [SQLTableName,nProps,MAX_SQLFIELDS]);
  SetLength(FieldType,nProps);
  SetLength(Fields,nProps);
  SetLength(FieldsName,nProps);
  SetLength(fFieldsNameSorted,nProps);
  SetLength(fFieldsNameIndex,nProps);
  SetLength(ManyFields,nProps);






>







 







|
|







491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
.....
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
      parameter in FillPrepare method)
    - EngineList methods (including TSQLRestServerStaticInMemory class) now
      handles an optional integer pointer, to return the count of row data
    - uses new generic TSynAnsiConvert classes for code page process: that is,
      SQLite3i18n S2U() and U2S() match the SynCommons StringToUTF8() and
      UTF8ToString() functions - therefore, the TUTF8ToStringEvent parameter is
      not useful any more
    - more than MAX_SQLFIELDS-1 columns (by default, 63) will raise an exception
    - fix issue about missing last item in JSONToObject() function
    - fix issue when handling null JSON objects in GetJSONObjectAsSQL() function
    - fix issue about record locking in TSQLRestClientURI.Retrieve method
    - fix issue about abusive session timeout: TSQLRestServer.SessionGet is now
      renamed SessionAccess and refreshes the session access timestamp each time
      a session is retrieved (+internal implementation fix)
    - fix issue in SetInt64Prop() procedure which failed the update of a property
................................................................................
  Table := aTable;
  SQLTableName := GetDisplayNameFromClass(aTable);
  ExternalTableName := SQLTableName;
  SQLTableNameUpperWithDot := UpperCase(SQLTableName)+'.';
  ClassProp := InternalClassProp(aTable);
  assert(ClassProp<>nil);
  nProps := PClassProp(aTable)^.FieldCountWithParents;
  if nProps>=MAX_SQLFIELDS then // sometimes, the ID field is included in bits
    raise EModelException.CreateFmt('%s has too many fields: %d>=%d',
      [SQLTableName,nProps,MAX_SQLFIELDS]);
  SetLength(FieldType,nProps);
  SetLength(Fields,nProps);
  SetLength(FieldsName,nProps);
  SetLength(fFieldsNameSorted,nProps);
  SetLength(fFieldsNameIndex,nProps);
  SetLength(ManyFields,nProps);