SET MULTILOCKS ON CLOSE DATABASES all CLEAR DELETE FILE testBufferingCreate.dbf CURSORSETPROP("Buffering",5,0) ?[CURSORGETPROP("Buffering",0)],CURSORGETPROP("Buffering",0) ? ?"With Cursor" CREATE CURSOR testBufferingCreate(f1 I) ?ALIAS(),CURSORGETPROP("Buffering") USE DBF("testBufferingCreate") IN 0 AGAIN ALIAS testBufferingUSE SELECT testBufferingUSE ?ALIAS(),CURSORGETPROP("Buffering") CLOSE TABLES ALL ? ?"With Table" CREATE TABLE testBufferingCreate (f1 I) ?ALIAS(),CURSORGETPROP("Buffering") USE USE testBuffering ALIAS testBufferingUSE ?ALIAS(),CURSORGETPROP("Buffering")Result:
CURSORGETPROP("Buffering",0) 5 With Cursor TESTBUFFERINGCREATE 1 TESTBUFFERINGUSE 5 With Table TESTBUFFERINGCREATE 1 TESTBUFFERINGUSE 5Why CREATE command behaves differently by comparison to USE? I don't know for sure. Perhaps because the assumption was made that, after the table/cursor is created, some other DDL operations will likely to be performed (INDEX ON ..., etc). And some of those operations are not allowed when table buffering is in effect.